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

如何在asp.net中向GridView的按钮添加事件

发布时间:2020-12-16 07:28:45 所属栏目:asp.Net 来源:网络整理
导读:我在asp.net中有一个搜索页面,用户搜索一本书,结果列在gridview中.我在每个gridview结果列的右侧添加了一个按钮,我想向这些按钮添加一个事件,例如,当用户单击该按钮时,该图书被借出.这是它的截图: 这是我的代码: %@ Page Language="C#" AutoEventWireup="t
我在asp.net中有一个搜索页面,用户搜索一本书,结果列在gridview中.我在每个gridview结果列的右侧添加了一个按钮,我想向这些按钮添加一个事件,例如,当用户单击该按钮时,该图书被借出.这是它的截图:

这是我的代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="SearchResults.aspx.cs"  Inherits="Pages_SearchResults" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>    
    </div>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
    DataKeyNames="ISBN" DataSourceID="SqlDataSource1" 
    onselectedindexchanged="GridView1_SelectedIndexChanged">
    <Columns>
        <asp:BoundField DataField="Title" HeaderText="Title" SortExpression="Title" />
        <asp:BoundField DataField="ISBN" HeaderText="ISBN" ReadOnly="True" 
            SortExpression="ISBN" />
        <asp:BoundField DataField="AuthorName" HeaderText="Author Name" 
            SortExpression="AuthorName" />
        <asp:BoundField DataField="AuthorlName" HeaderText="Author Last Name" 
            SortExpression="AuthorlName" />
        <asp:BoundField DataField="ItemType" HeaderText="Item Type" 
            SortExpression="ItemType" />
        <asp:BoundField DataField="PublishYear" HeaderText="Publish Year" 
            SortExpression="PublishYear" />
        <asp:ButtonField ButtonType="Button" CommandName="LoanItem" Text="Loan Item" />
    </Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
    ConnectionString="<%$ConnectionStrings:ConnectionString %>" 
    SelectCommand="SELECT * FROM [Items] WHERE ([Title] LIKE '%' + @Title + '%')">
    <SelectParameters>
        <asp:FormParameter FormField="tSearchBox" Name="Title" Type="String" />
    </SelectParameters>
</asp:SqlDataSource>
</form>
</body>
</html>

这是SearchResults页面的.cs文件:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Pages_SearchResults : System.Web.UI.Page
{
    protected void Page_Load(object sender,EventArgs e)
    {

    }

    protected void GridView1_SelectedIndexChanged(object sender,EventArgs e)
    {

    }
}

我添加了如下按钮:点击BUttonField

我的问题是,如何向“贷款项目”按钮添加事件?我读了这个链接http://msdn.microsoft.com/en-us/library/bb498195.aspx,但它并没有真正说明如何添加事件处理程序.我感谢任何帮助.谢谢

解决方法

我会做什么,以及我认为你的示例链接正在做什么,是将RowCommand事件添加到GridView.

单击按钮时,将触发RowCommand事件,并将CommandName和CommandArgument(它将是标识与单击的按钮关联的行/记录的ID)传递给事件处理程序.

要创建处理程序,请参阅下面的评论,或手动执行.在您的网格中:

OnRowCommand = “Grid_RowCommand”

在您的代码隐藏中:

protected void Grid_RowCommand(object sender,GridViewCommandEventArgs e)
{

}

惯例将规定处理程序的名称应为[ControlID] _ [EventName],因此在我的示例中,我的网格的ID只是Grid

(编辑:李大同)

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

    推荐文章
      热点阅读