接上个问题
这是gridview里面的绑定的列 期DatakeyNames="Number"
<ItemTemplate>
<%# Eval("Number")%>
</ItemTemplate>
<ItemTemplate>
<%# Eval("Name")%>
</ItemTemplate>
<ItemTemplate>
<asp:button id="button1" runat="server" text="修改" Onclick="button1_Click">
</ItemTemplate>
效果显示如下:
编号 姓名 修改
no1.01 aaa 修改(按钮)
no1.02 bbb 修改(按钮)
no1.03 ccc 修改(按钮)
no2.01 ddd 修改(按钮)
no2.02 eee 修改(按钮)
我点击修改按钮,怎么得到这行是属于girdview里面的第几行?
------解决方案--------------------你可以用gridview的RowCommand方法来处理你的逻辑,
在button上直接
<asp:Button ID="Button1" runat="server" Text="修改" CommandName="modifyRow" CommandArgument='<%# Eval("ID") %>'>
<asp:Button ID="Button2" runat="server" Text="更新" CommandName="updateRow" CommandArgument='<%# Eval("ID") %>'>
绑定commandName,然后绑定关键字
后台
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "modifyRow")
{
object obj=e.CommandArgument;//这里就是前台绑定的参数,转换成相应类型进行操作
比如如果是int类型的
int id=Convert.ToInt32(e.CommandArgument);
.......
}
if(e.CommandName=="updateRow")
{
......
}
}
------解决方案--------------------<%# Container.ItemIndex+1 %>
------解决方案--------------------
------解决方案--------------------C# code
protected void Button1_Click(object sender, EventArgs e)
{
Button btn = (Button)sender;
DataRow row = btn.Parent.Parent as Button;//当前行
}