在我的asp.net application (v4.0)
中,我有一个网格视图。我使用列表对象将数据绑定到网格视图。
在网格视图中有一个取消按钮。点击取消按钮后,应用程序应向用户弹出一条消息,要求确认继续取消。即。你确定要取消记录是/否。当用户选择“是”时,应取消特定记录。
现在的问题是,当用户选择yes时,我需要获取单击取消按钮的行的索引,我需要从用于绑定网格和重新绑定的列表对象中删除它gridview。
请让我知道如何实现这一目标。
感谢所有的回复..我使用自定义弹出窗口而不是内置'确认'方法。自定义弹出式按钮会“确定”。和'取消'按钮控件。只需点击“确定”即可。按钮我需要获取所选的记录索引。某些回复中提到的内置确认方法不适合我的方案。请让我知道如何实现这一目标。
答案 0 :(得分:2)
在页面中添加隐藏字段
<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();
}
然后单击“确定”按钮,它将调用click事件。在该函数中,从列表中删除项目,然后再将列表再次绑定到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
}
答案 1 :(得分:1)
您是否尝试将CommandArgument
值添加到代表该项目的取消按钮,例如ID?然后单击onclick,显示一个弹出窗口,如果用户选择yes,则使用该ID从您的集合中删除该项目,然后只需重新绑定网格。该项目将消失。
由于
保罗。
答案 2 :(得分:1)
试试这个..
你可以使用javascript函数..
<asp:Button ID="Button1" runat="server" onclientclick="Validate(this) />
在页面中声明HTML隐藏字段...
<input id="Hidden1" type="hidden" runat="server" clientidmode="static"/>
function Validate(obj) {
var r = confirm("are you sure you want to cancel ?");
if (r == true) {
var id = obj.id.toString();
var index = id.split("_");
var RowNumber = index[2].toString();
document.getElementById('Hidden1').value=RowNumber ;
}
else {
return;
}
}
在这里,我们将按钮的id
稍微设为ContentPlacedholde_Button1_0
..然后我们拆分它以获取索引..
答案 3 :(得分:1)
在取消按钮上使用命令名称和命令参数,如下所示:
<asp:Button ID="btncancel" runat="server" CommandArgument='<%#Eval("Id") %>' CommandName="Cancel" Text="Cancel" />
然后在gridviewRowcommand上使用:
if (e.CommandName == "Cancel")
{
int count = GridViewName.Rows.Count;
for (int i = 0; i < count; i++)
{
int id = Convert.ToInt32(e.CommandArgument);
}
}