在我的 asp.net 应用程序 (v4.0)
中,我有一个 GridView 。我使用列表对象将数据绑定(bind)到 GridView 。
在 GridView 中有一个取消按钮。单击取消按钮时,应用程序应向用户弹出一条消息,要求确认继续取消。 IE。您确定要取消记录吗?是/否。当用户选择是时,应取消特定记录。
现在的问题是,当用户选择是时,我需要获取单击取消按钮的行的索引,我需要将其从用于绑定(bind)网格的列表对象中删除并重新绑定(bind) GridView 。
请告诉我如何实现这一目标。
感谢所有回复.. 我使用自定义弹出窗口而不是内置的“确认”方法。自定义弹出窗口将具有“确定”和“取消”按钮控件。只有单击“确定”按钮,我才需要获取选定的记录索引。某些回复中提到的内置确认方法不适合我的场景。请让我知道如何实现这一目标。
最佳答案
在你的页面中添加一个隐藏域
<asp:HiddenField ID="HiddenField1" runat="server" />
使用记录的Id(使用对应的列名代替Id)作为取消按钮的CommandArgument
<asp:Button ID="btncancel" runat="server" CommandArgument='<%#Eval("Id") %>' Text="Cancel" />
然后在单击取消按钮时调用 gridviews rowcommand 函数。在该函数中,将 CommandArgument 值保留在隐藏字段中,如下所示
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
HiddenField1.Value = e.CommandArgument.ToString();
}
然后在单击确定按钮时,它会调用单击事件。在该函数中从列表中删除项目,然后再次将列表绑定(bind)到 gridview
protected void btnOK_Click(object sender, ButtonClickEventArgs e)
{
string id = HiddenField1.Value;
//use this id to remove the data from the List
// bind the gridview
}
关于c# - 单击gridview外部的按钮获取gridview的rowindex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22504623/