加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 如何访问listview中的按钮?特别是使用button_click

发布时间:2020-12-16 09:46:24 所属栏目:asp.Net 来源:网络整理
导读:我有这个简化的代码: asp:ListView ID="ListView1" runat="server" DataSourceID="sqldatasource1" ItemTemplate asp:Button ID="ButtonTest" runat="server" BackColor="Silver" Text="Add to Cart" / /ItemTemplate /asp:ListView 我试图在按钮后面运行一
我有这个简化的代码:

<asp:ListView ID="ListView1" runat="server" DataSourceID="sqldatasource1">
    <ItemTemplate>
        <asp:Button ID="ButtonTest" runat="server" BackColor="Silver" Text="Add to Cart" />
  </ItemTemplate>
  </asp:ListView>

我试图在按钮后面运行一些代码,但我不知道如何.我无法在列表视图中访问它.这并不重要,但我试图从当前列表视图(产品ID)获取信息并将其传递到下一页.

有人知道如何使用确切的代码来解决这个问题吗?谢谢!

解决方法

您需要ItemCommand事件.你可以给你的按钮一个命令名,一个命令参数(如果你想),然后在ListView上监听ItemCommand事件

<asp:ListView ID="ListView1" runat="server" OnItemCommand="DoTheCommand" DataSourceID="sqldatasource1">
    <ItemTemplate>
        <asp:Button CommandName="Foo" CommandArgument='<%#Eval("SomeDataBoundProperty")%>' ID="ButtonTest" runat="server" BackColor="Silver" Text="Add to Cart" />
    </ItemTemplate>
</asp:ListView>

在您的代码背后:

void DoTheCommand(object sender,ListViewCommandEventArgs e) {
    string commandName = e.CommandName;
    object commandArg = e.CommandArgument;
    ListViewItem selectedItem = e.Item;
    int dataItemIndex = selectedItem.DataItemIndex;

    if (commandName == "Foo") {
         //and so on
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读