2011-12-16 58 views
5

我有我的C#背景下,這個按鈕:如何傳遞參數單擊事件方法使用C#

<button id='Update' OnServerClick='UpdateCart'>Update</button> 

現在我想通過參數(NUM)至(UpdateCart)方法:

protected void UpdateCart(object sender, EventArgs e) 
{ 

    Response.Cookies["Cart"]["Qty(" + num + ")"] = Request.Form["Qty" + num]; 
} 

我該怎麼做?

回答

6

使用ASP.NET Button控制,而不是<button/>標記,讓您通過CommandArgument屬性設置值,並使用Command事件(不要使用點擊)來檢索CommandArgument屬性值的例子。

標記:

<asp:Button 
       ID="Button1" 
       runat="server" 
       CommandArgument="10" 
       oncommand="Button1_Command" 
       Text="Button" /> 

代碼:

protected void Button1_Command(object sender, CommandEventArgs e) 
    { 
     string value = e.CommandArgument.ToString(); 
    } 
+0

I儘管如此,但仍然無法訪問值(e.CommandArgument)它是空的 – Hatem 2011-12-16 05:54:58

1

我注意到,命令的參數不從客戶端接受動態設定值,命令參數必須設置服務器端。所以爲了解決這個問題,我用asp:hidden字段更新了它的value,然後從後面的代碼通過僅僅做hiddenfield.value得到了這個值。