如何使用c#将参数传递给click事件方法

时间:2011-12-16 05:22:35

标签: c# asp.net events

我在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];
}

我怎么能这样做?

3 个答案:

答案 0 :(得分:6)

使用ASP.NET Button控件而不是<button/>标记,允许您通过CommandArgument属性设置值并使用Command事件(不要使用Click)来检索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();
  }

答案 1 :(得分:4)

您将使用'commandArgument'属性。这是MSDN上的一个例子

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.button.commandargument.aspx

答案 2 :(得分:1)

我注意到命令参数不接受来自客户端的动态设置值,命令参数必须设置为服务器端。因此,为了解决此问题,我使用asp:hidden字段更新了其value,然后从代码后面通过hiddenfield.value获取了值。