我正在尝试将参数传递给一个函数onClick的一个asp:Button
<asp:Button name='ProductID' onclick="confirm_product_Click" ID="confirmitem" runat="server" Text="accept">
参数是<%= product.ProductId%>.
我不能使用CommandArguments,因为该值像纯文本一样传递.
我尝试了隐藏的输入,但它失败了.
我也尝试过使用表单操作:
<form method="post" action="?ProductID=<%=product.ProductId %>"> <asp:Button name='ProductID' onclick="confirm_product_Click" ID="confirmitem" runat="server" Text="accept"> </form>
解决方法
in your aspx
<asp:Button ID="test" runat="server" CommandArgument='<%#Eval("product.ProductId")%>' CommandName="ThisBtnClick" OnClick="MyBtnHandler" />
in code behind
void MyBtnHandler(Object sender,EventArgs e) { Button btn = (Button)sender; switch (btn.CommandName) { case "ThisBtnClick": DoWhatever(btn.CommandArgument.ToString()); break; case "ThatBtnClick": DoSomethingElse(btn.CommandArgument.ToString()); break; } }