2011-12-16 62 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得到了这个值。