Question

I know there are a lot of threads about this error, but I've looked through all of them and haven't been able to make it work. It's probably something very small that I am overlooking.

This is the code I have now, in an asp:Button component

<asp:Button ID="btn_profile" runat="server" Text="Bekijk de wenslijst"
CssClass="wenslijst_preview_btn" 
OnClick="btn_goToChild_Click(<%# Eval("pk_child_id") %>)"/>

I have tried multiple things, for example the following:

OnClick='btn_goToChild_Click(<%# Eval("pk_child_id") %>)'

But then I get the following error:

preprocessor directives must appear as the first non-whitespace character on a line

If you need to see more code, let me know!

Was it helpful?

Solution 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;
    }

OTHER TIPS

OnClick is a server-side event, so should just be the name of a server-side event handler. OnClientClick (where available) is a client-side event handler, so would take a JavaScript expression to evaluate.

Try

  <asp:Button ID="Button1" runat="server" Text="Button"
             OnClientClick='btn_goToChild_Click(<%# Eval("pk_child_id") %>)' /> 

If you want to use Javascript expression, use OnClientClick not OnClick. These are different side events.

OnClick is used for server side methods only, for client side calls you should use "OnClientClick" attribute.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top