我知道有很多关于此的相关帖子或文章,但似乎它们对我的情况没有帮助。我什至与该站点上的工作示例进行了比较,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();
}
}
我在这里尝试实现的是,当我单击图像按钮或链接按钮时,将 ListView 中项目的 ID 捕获到文本框中。两者都将执行相同的操作。我已经让图像按钮工作了。当我单击图像时,ID,例如 1 将出现在文本框中。但是当我想用链接按钮做同样的事情时,什么都不会发生。该事件不会以任何方式触发。
我看过一些关于中继器或 AJAX 做同样事情的帖子,但我只是想知道为什么这段代码不能工作。我将不胜感激任何指针。