これに関連する投稿や記事がたくさんあることは知っていますが、それではそれらは私のケースを助けていないようです。このサイト( http://www.ezineasp.net/post/ASP-Net-LinkButton-Command-Event.aspx )の作業サンプルと比較したこともありますが、大きな違いはないと思います。私のコードは機能するはずだと思っていましたが、どうやら機能しないようです。これが重複しているように見える場合は申し訳ありませんが、ここに投稿するのは私の最後の手段です。
これが私のHTMLです:
<asp:ListView runat="server" ID="AppsList">
<LayoutTemplate>
<div>
<asp:PlaceHolder runat="server" ID="itemPlaceHolder" />
</div>
</LayoutTemplate>
<ItemTemplate>
<div class="applist">
<div class="app">
<asp:ImageButton ID="imgbtnApp" runat="server" ImageUrl='<%#Eval("Icon") %>' height="100" width="100" CommandName="Select" CommandArgument='<%# Eval("ID") %>' OnCommand="AppsList_ItemCommand" />
</div>
<div class="appname">
<asp:LinkButton ID="linkbtnAppName" runat="server" CommandName="Select" ForeColor="#333333" CommandArgument='<%# Eval("ID") %>' OnCommand="AppsList_ItemCommand" CssClass="linkbtnAppName"><%# Eval("AppName") %></asp:LinkButton>
</div>
</div>
</ItemTemplate>
<EmptyDataTemplate>
Sorry - Nothing found.
</EmptyDataTemplate>
</asp:ListView>
コード:
protected void AppsList_ItemCommand(object sender, CommandEventArgs e)
{
if (e.CommandName == "Select")
{
txtTest.Text = e.CommandArgument.ToString();
}
}
ここで達成しようとしているのは、画像ボタンまたはリンクボタンのいずれかをクリックしたときに、リストビュー内のアイテムのIDをテキストボックスにキャプチャすることです。どちらも同じことを実行します。私はすでに画像ボタンを機能させました。画像をクリックすると、ID、たとえば1がテキストボックスに表示されます。しかし、リンクボタンで同じことをしたいのですが、何も起こりません。イベントはまったくトリガーされていません。
同じことをするためにリピーターやAJAXについて話している投稿を見たことがありますが、なぜこのコードが機能しないのか疑問に思っていました。ポインタをいただければ幸いです。