2017-11-21 9 views
0

リピータにリンクボタンがあり、クリックするとコードビハインドでメソッドを起動する必要がありますが、LinkBut​​tonをクリックするとメソッドが実行されません。ここではリピーターのためのHTMLは次のとおりです。ここでリピータコマンドのLinkBut​​tonはクリック時に起動しません

<asp:Repeater ID="rptFeatures" runat="server"> 
    <ItemTemplate> 
     <asp:LinkButton runat="server" Text='<%# Eval("Name") %>' 
      CommandName="listItem_Click" 
      CommandArgument='<%# DataBinder.Eval(Container.DataItem, "AccessListItemId") %>'> 
     </asp:LinkButton><br /> 
    </ItemTemplate> 
</asp:Repeater> 

はのonClickを発射する必要がある方法です。

protected void listItem_Click(object sender, RepeaterCommandEventArgs e) 
{ 
    throw new NotImplementedException(); 
} 

私はそれならばちょうど見るためにNotEmplementedExceptionにブレークポイントを持っているようにメソッドが呼び出されることは決してありませんヒット。誰かが私がここで間違っていることを教えてもらえますか?

ご協力いただきありがとうございます。

<asp:Repeater ID="rptFeatures" runat="server" OnItemCommand="rptFeatures_OnItemCommand"> 
    <ItemTemplate> 
     <asp:LinkButton runat="server" Text='<%# Eval("Name") %>' 
       CommandName="listClick" 
       CommandArgument='<%# DataBinder.Eval(Container.DataItem, "AccessListItemId") %>'> 
     </asp:LinkButton><br /> 
    </ItemTemplate> 
</asp:Repeater> 

protected void rptFeatures_OnItemCommand(object source, RepeaterCommandEventArgs e) 
{ 
    if (e.CommandName.Equals("listItem_Click")) 
    { 
     // your code 
    }  
} 

答えて

2

はこれを試してみてください。

のOnClick = "listItem_Click"

+0

、どちらか動作しません:

<asp:Repeater ID="rptFeatures" runat="server" OnItemCommand="listItem_ItemCommand"> <ItemTemplate> <asp:LinkButton runat="server" Text='<%# Eval("Name") %>' CommandName="listClick" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "AccessListItemId") %>'></asp:LinkButton><br /> </ItemTemplate> </asp:Repeater> 

は今、それが含まれた引数を持つメソッドを打ちます。リピータで何かする必要があるのですか? –

+0

私はかなりうまくいくはずです。このメソッドとページ・ロード・イベントの下にブレーク・ポイントを置こうとしましたか?何が起こった ? –

+0

2番目に 'CommandArgument'をコメントして何が起こったのかを確認 –

1

代わりのCommandName利用のonClickイベントの:

+0

これは実際にはメソッドに当たっていますが、パラメータが通過しません。 –

0

私はBaseerハイダーの答えにリピーターに "OnItemCommand = listItem_ItemCommand" を追加する必要がありました。リピータは、次のようになります。残念ながら

 protected void listItem_ItemCommand (Object source, RepeaterCommandEventArgs e) 
    { 
     if (e.CommandName.Equals("listItem_Click")) 
     { 
      // your code 
     } 

    } 
+0

BASEER HAIDER応答を「完了」しました。 これを削除し、正しい答えとしてBASEER HAIDER応答をマークします。彼はあなたが問題を見るのを助けました。 –

関連する問題