2

このエラーについて多くのスレッドがあることは知っていますが、それらすべてに目を通しましたが、機能させることができませんでした。それはおそらく私が見落としている非常に小さなものです。

これは、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

4 に答える 4

4

OnClickはサーバー側のイベントであるため、サーバー側のイベント ハンドラーの名前にする必要があります。OnClientClick(利用可能な場合) はクライアント側のイベント ハンドラーであるため、JavaScript 式を使用して評価します。

試す

  <asp:Button ID="Button1" runat="server" Text="Button"
             OnClientClick='btn_goToChild_Click(<%# Eval("pk_child_id") %>)' /> 
于 2012-12-05T13:27:40.623 に答える
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;
    }
于 2012-12-05T13:28:33.943 に答える
2

Javascript 式を使用する場合は、OnClientClicknotを使用しますOnClick。これらは異なるサイドイベントです。

于 2012-12-05T13:30:02.020 に答える
0

OnClickはサーバー側のメソッドにのみ使用されます。クライアント側の呼び出しには、「OnClientClick」属性を使用する必要があります。

于 2012-12-05T13:51:24.060 に答える