这是我的按钮
<asp:Button ID="myButton" Text="Click Me" OnClick="doSomething(10)" runat="server" />
这是服务器功能
public void doSomething(int num) { int someOtherNum = 10 + num; }
当我尝试编译代码时,我得到该行的错误“Method Name Expected”:
<asp:Button ID="myButton" Text="Click Me" OnClick="doSomething(10)" runat="server" />
我究竟做错了什么?我不允许从OnClick事件向服务器传递值吗?
解决方法
这里有两个问题.首先,onclick事件具有特定的签名.它是
MethodName(object sender,EventArgs e);
<asp:Button ID="myButton" Text="Click Me" OnClick="doSomething" runat="server" />
然后按如下方式更改您的代码隐藏:
public void doSomething(object sender,EventArgs e) { .... }
参数的传递可以在客户端点击事件处理程序上完成,在本例中为OnClientClick,但不在服务器端处理程序上.