我知道有很多关于这个错误的帖子,但是我已经查看了所有这些错误并且无法使其正常工作。这可能是我所忽视的非常小的东西。
这是我现在的代码,在asp:Button组件
中<asp:Button ID="btn_profile" runat="server" Text="Bekijk de wenslijst"
CssClass="wenslijst_preview_btn"
OnClick="btn_goToChild_Click(<%# Eval("pk_child_id") %>)"/>
我尝试过多种方法,例如:
OnClick='btn_goToChild_Click(<%# Eval("pk_child_id") %>)'
但后来我收到以下错误:
preprocessor directives must appear as the first non-whitespace character on a line
如果您需要查看更多代码,请与我们联系!
答案 0 :(得分:4)
OnClick
是服务器端事件,因此应该只是服务器端事件处理程序的名称。 OnClientClick
(如果可用)是客户端事件处理程序,因此需要使用JavaScript表达式进行评估。
尝试
<asp:Button ID="Button1" runat="server" Text="Button"
OnClientClick='btn_goToChild_Click(<%# Eval("pk_child_id") %>)' />
答案 1 :(得分:2)
<asp:Button ID="btn_profile" runat="server" Text="Bekijk de wenslijst"
CssClass="wenslijst_preview_btn" CommandArgument='<%# Eval("pk_child_id") %>'
OnClick="btn_goToChild_Click"/>
protected void btn_goToChild_Click(object sender, EventArgs e)
{
Button btn= (Button) sender;
if (btn==null) return;
var id =btn.CommandArgument;
// Or int id=(int)btn.CommandArgument;
}
答案 2 :(得分:2)
如果您想使用Javascript表达式,请使用OnClientClick
而不是OnClick
。这些是不同的会外活动。
答案 3 :(得分:0)
OnClick仅用于服务器端方法,对于客户端调用,您应使用“OnClientClick”属性。