我在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];
}
我怎么能这样做?
答案 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
获取了值。