有一个GridView代码如下:
<asp:GridView ID="GridView_WarningList" runat="server" CssClass="warninglist"
AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="ID"
PageSize="18" AllowPaging="true"
onpageindexchanging="GridView_WarningList_PageIndexChanging">
<Columns>
<asp:BoundField DataField="ID" HeaderText="编号"/>
<asp:BoundField DataField="Title" HeaderText="信息标题" />
<asp:BoundField DataField="Time" HeaderText="时间" DataFormatString="{0:yyyy-mm-dd}" />
<asp:TemplateField HeaderText="操作" >
<ItemTemplate>
<asp:Button ID="check_btn" runat="server" Text="查看" CssClass="admin_control"/>
<asp:Button ID="alter_btn"
runat="server" Text="修改" CssClass="admin_control" OnClick="Alter_Click" />
问题:如何在“修改按钮”的“OnClick”事件“Alter_Click”中获取该行对应的“ID”值?
后台方法:
protected void Alter_Click (object sender,EventArgs e)
{
}
<asp:CheckBox ID="select_box" runat="server" CssClass="admin_control"/></ItemTemplate>
</asp:TemplateField>
</Columns>
<SelectedRowStyle BackColor="#eeeef6" />
<PagerStyle BackColor="#eeeef6" Font-Bold="true" Font-Underline="true" HorizontalAlign="Left" />
<HeaderStyle CssClass="warninglist_header"/>
<FooterStyle CssClass="warninglist_footer"/>
</asp:GridView>
<asp:GridView ID="GridView_WarningList" runat="server" CssClass="warninglist"
AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="ID"
PageSize="18" AllowPaging="true"
onpageindexchanging="GridView_WarningList_PageIndexChanging">
<Columns>
<asp:BoundField DataField="ID" HeaderText="编号"/>
<asp:BoundField DataField="Title" HeaderText="信息标题" />
<asp:BoundField DataField="Time" HeaderText="时间" DataFormatString="{0:yyyy-mm-dd}" />
<asp:TemplateField HeaderText="操作" >
<ItemTemplate>
<asp:Button ID="check_btn" runat="server" Text="查看" CssClass="admin_control"/>
<asp:Button ID="alter_btn"
runat="server" Text="修改" CssClass="admin_control" OnClick="Alter_Click" />
问题:如何在“修改按钮”的“OnClick”事件“Alter_Click”中获取该行对应的“ID”值?
后台方法:
protected void Alter_Click (object sender,EventArgs e)
{
}
<asp:CheckBox ID="select_box" runat="server" CssClass="admin_control"/></ItemTemplate>
</asp:TemplateField>
</Columns>
<SelectedRowStyle BackColor="#eeeef6" />
<PagerStyle BackColor="#eeeef6" Font-Bold="true" Font-Underline="true" HorizontalAlign="Left" />
<HeaderStyle CssClass="warninglist_header"/>
<FooterStyle CssClass="warninglist_footer"/>
</asp:GridView>
解决方案 »
- 怎样确认是直接访问的网站还是从百度访问的网站?
- asp.net代码中使用alert弹出对话框,紧急,在线等!!!!
- 关于datalist项模板下子项选定值的问题,来高手看看~~~
- 經理讓我從asp.net轉到php,大家認為值得麼?
- 如何启用匿名访问?除了手工设置以外
- 在WEB程序中,怎么样把本地EXCEL文件导到数据库中,EXCEL文件的字段与数据库字段不是一一对应,谁有有效的方法??
- 关于编码的问题,怎样能在iso8859编码的服务器下,让简体和繁体中文共存
- 如何注册ScriptX打印的
- 如何将DATASET中的全部数据插入到一个数据库的表中
- 数据库连接问题,高手快来指点啊,急!
- 在GridView中获得ID值
- jquery easyui的datagrid控件为什么在http访问下无法加载数据
或GridViewRow gvr = (sender as Button).NamingContainer as GridViewRow;
TextBox txt=gvr.FindControl("txt") as TextBox;
后台用rowcommand事件
http://topic.csdn.net/u/20110217/18/c32afa1b-0341-40e3-a589-bb2e4edd20fc.html
<Columns>
<asp:BoundField DataField="ID" HeaderText="ID" />
<asp:BoundField DataField="Name" HeaderText="Name" />
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
protected void Button1_Click(object sender, EventArgs e)
{
int index = ((GridViewRow)(sender as Button).Parent.Parent).RowIndex;
int id = Convert.ToInt32(GridView1.Rows[index].Cells[0].Text);
Response.Write(id.ToString());
}
protected void Alter_Click (object sender,EventArgs e)
{
Button Ig = (Button)sender;
GridViewRow gv = (GridViewRow)Ig.Parent.Parent;
string strID= GridView_WarningList.DataKeys[gv.RowIndex].Values[0];
}
asp:Button ID="alter_btn"
runat="server" Text="修改" CssClass="admin_control" OnClick="Alter_Click" CommandName="SelectData" CommandArgument='<%#Eval("ID") %>' />
在后台激发RowCommand事件就能获取到
if (e.CommandName == "SelectData")
{
string strDataKey = e.CommandArgument.ToString();
}
对<asp:Button ID="alter_btn"
runat="server" Text="修改" aaa='<%# Eval("ID")%>' CssClass="admin_control" OnClick="Alter_Click" /> 后台将E转换为BUTTON 然后 button.Attributes["aaa"] 来获得,貌似是这样,不知道写的对不对,你试试?
<Columns>
<asp:BoundField DataField="ID" HeaderText="ID" />
<asp:BoundField DataField="Name" HeaderText="Name" />
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" aaa='<%# Eval("ID")%>'/>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
protected void Button1_Click(object sender, EventArgs e)
{
Button b=sender as Button;
int index = Convert.ToInt32(b.Attributes["aaa"].ToString());
Response.Write(id.ToString());
}