服务器标签没有很好的错误

时间:2012-12-05 13:23:49

标签: c# asp.net servertag

我知道有很多关于这个错误的帖子,但是我已经查看了所有这些错误并且无法使其正常工作。这可能是我所忽视的非常小的东西。

这是我现在的代码,在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

如果您需要查看更多代码,请与我们联系!

4 个答案:

答案 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”属性。