读书人

接上个有关问题

发布时间: 2012-01-26 19:40:46 作者: rapoo

接上个问题
这是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 %>
[解决办法]

探讨
<%# Container.ItemIndex+1 %>

[解决办法]
C# code
 protected void Button1_Click(object sender, EventArgs e)    {        Button btn = (Button)sender;        DataRow row = btn.Parent.Parent as Button;//当前行    } 

读书人网 >asp.net

热点推荐