2012-06-14 20 views
0

我在aspx.cs頁面中有一個靜態的webmethod,我想在該方法中使用Request.Form [],但不支持&說:Request.Form []在靜態方法在asp.net中不工作

對象引用是非靜態字段所必需的。 如何使用的Request.Form []在Web方法(使用任何替代方法)

問候 截拳道稔

+0

你可以更具體的*爲什麼*該方法需要是靜態的? – CyberDude

回答

0

你不能在靜態環境中使用非靜態屬性。如果你的方法是靜態的,這意味着它不應該依賴於被調用的實例(這裏你使用的是Request,它是this的屬性 - 你的頁面)。

如果你的方法確實根據的東西一些計算從POST數據,那麼你應該補充的是,作爲該方法的參數,然後你Request.Form["something"]調用方法值:

public static int MyStaticMethod(string someParameter) 
{ 
    //logic involving someParameter 
    return a value based on the logic above 
} 

//somewhere in your code-behind 
if (MyStaticMethod(Request.Form["something"]) == 0) //something something 
0

Request.Form有意思是如果你發回帖子。

從我所瞭解的你可以在代碼後面調用靜態函數。在那一刻的頁面是不存在的,幽冥你充分後回填寫表格

使用

正確的方法是發送數據的任何替代方法,作爲參數傳遞給函數。

+0

我只想訪問該靜態方法內的div ID,但問題是,該div沒有runat =服務器標記。 如何訪問該靜態網頁方法中的div ID .. Ant其他方式去做..? –

+0

@JeetNim你不能。你可以做的是返回你想添加到該div的值,並使用javascript添加它。如果您贏得發送,也是一樣,使用javascript獲取該div的innerHTML並將其作爲參數發送給該函數。 – Aristos