C# 在gridview中处理按钮事件
今天我有几个问题,我是ASP和C的新手,所以我需要一些帮助,问题是下一个。(我会尽量做到最具体) 我从数据库中创建了一个GridView,我在GridView中添加了一列按钮(详细信息),下面是问题。当我单击一个按钮时,我需要在浏览器中打开一个新窗口(我如何从C#执行此操作,或者仅在客户端使用javascrip?即可),在我需要显示数据库中的详细信息后,首先我需要从按钮所在的行中获取ID,即GridView中的列ID,那么,在单击按钮的位置,如何获取ID列的行值呢 这是我的ASP GridView代码C# 在gridview中处理按钮事件,c#,asp.net,gridview,C#,Asp.net,Gridview,今天我有几个问题,我是ASP和C的新手,所以我需要一些帮助,问题是下一个。(我会尽量做到最具体) 我从数据库中创建了一个GridView,我在GridView中添加了一列按钮(详细信息),下面是问题。当我单击一个按钮时,我需要在浏览器中打开一个新窗口(我如何从C#执行此操作,或者仅在客户端使用javascrip?即可),在我需要显示数据库中的详细信息后,首先我需要从按钮所在的行中获取ID,即GridView中的列ID,那么,在单击按钮的位置,如何获取ID列的行值呢 这是我的ASP GridVie
<asp:GridView ID="GridView1" runat="server"
AutoGenerateColumns="false"
AllowPaging="true" CellPadding="3"
OnPageIndexChanging="grdData_PageIndexChanging" PagerSettings-Position="Top"
PagerStyle-ForeColor="Orange"
PageSize="10">
<Columns>
<asp:BoundField DataField="id" HeaderText="ID" />
<asp:BoundField DataField="request_type" HeaderText="RequestType"/>
<asp:BoundField DataField="priority" HeaderText="Priority" />
<asp:BoundField DataField="modality" HeaderText="Modality" />
<asp:BoundField DataField="name" HeaderText="Name" />
<asp:BoundField DataField="start_date" HeaderText="Start Date"/>
<asp:BoundField DataField="end_date" HeaderText="End Date" />
<asp:BoundField DataField="hour" HeaderText="Start Hour" />
<asp:BoundField DataField="requester" HeaderText="Requester Name" />
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="Details" runat="server"
CommandArgument="<%# ((GridViewRow) Container).RowIndex %>"
Text="Details" CssClass="botonformulario"/>
</ItemTemplate>
</asp:TemplateField>
</Columns>
我试着在这一页上做同样的事情
从这一次开始
我真的不知道我做错了什么,当我点击一个按钮时什么也没发生。
我尝试过放置断点,但我注意到断点从未出现
非常感谢您的时间,任何评论都会很有帮助。您有
GridView1\u RowCommand
处理程序,但它没有绑定到您发布的html中。您可能需要将事件绑定到GridView
<asp:GridView ID="GridView1" runat="server" OnRowCommand="GridView1_RowCommand"
AutoGenerateColumns="false"
AllowPaging="true" CellPadding="3"
OnPageIndexChanging="grdData_PageIndexChanging" PagerSettings-Position="Top"
PagerStyle-ForeColor="Orange"
PageSize="10">
您有
GridView1_row命令
处理程序,但它没有绑定到您发布的html中。您可能需要将事件绑定到GridView
<asp:GridView ID="GridView1" runat="server" OnRowCommand="GridView1_RowCommand"
AutoGenerateColumns="false"
AllowPaging="true" CellPadding="3"
OnPageIndexChanging="grdData_PageIndexChanging" PagerSettings-Position="Top"
PagerStyle-ForeColor="Orange"
PageSize="10">
谢谢我现在就试试这个:)谢谢我现在就试试这个:)
<asp:Button ID="Details" runat="server" CommandName="cmdDetails"
CommandArgument="<%# ((GridViewRow) Container).RowIndex %>"
Text="Details" CssClass="botonformulario"/>
<asp:GridView ID="GridView1" runat="server"
AutoGenerateColumns="false"
AllowPaging="true" CellPadding="3"
OnPageIndexChanging="grdData_PageIndexChanging" PagerSettings-Position="Top"
PagerStyle-ForeColor="Orange"
PageSize="10">
<Columns>
<asp:BoundField DataField="id" HeaderText="ID" />
<asp:BoundField DataField="request_type" HeaderText="RequestType"/>
<asp:BoundField DataField="priority" HeaderText="Priority" />
<asp:BoundField DataField="modality" HeaderText="Modality" />
<asp:BoundField DataField="name" HeaderText="Name" />
<asp:BoundField DataField="start_date" HeaderText="Start Date"/>
<asp:BoundField DataField="end_date" HeaderText="End Date" />
<asp:BoundField DataField="hour" HeaderText="Start Hour" />
<asp:BoundField DataField="requester" HeaderText="Requester Name" />
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="Details" runat="server"
CommandArgument="<%# ((GridViewRow) Container).RowIndex %>"
Text="Details" OnClick="Details_Click" CommandName='<%# Eval("id")%>' CssClass="botonformulario"/>
</ItemTemplate>
</asp:TemplateField>
protected void Details_Click(object sender, EventArgs e)
{
Button btn=(Button)sender;
Response.Redirect("Details.aspx?id="+btn.CommandName);
}