我有一个网格显示来自数据库的数据,我有一个自定义列在左边的复选框,我选择要删除的记录,我有一个下拉列表,这将触发在服务器端的事件删除记录,在我删除那些记录之前,我想要显示一个确认对话框,如“你确定吗?确定并取消”,该怎么做?任何想法?如何从下拉列表中显示确认对话框?
我这样做:
if(ddlAction.SelectedValue == "Delete")
{
string id = string.Empty;
int i = 0;
List<int> idx = new List<int>();
foreach (GridViewRow rowitem in gvDept.Rows)
{
CheckBox itemchk = (CheckBox)rowitem.FindControl("cbSelectOne");
if (itemchk != null & itemchk.Checked)
{
id += rowitem.Cells[3].Text.ToString() + ',';
idx.Add(i);
}
i = i + 1;
}
id = id.Trim(",".ToCharArray());
List<string> objRemoveKeys = id.Split(',').ToList();
if (objRemoveKeys.Count > 0)
{
ddlAction.Attributes.Add("OnChange", "javascript:return confirmDeletion('Are you sure you would like to remove the selected items?');"); // this part not working.
AirAsiaLinqDataContext LinqDataCtx = new AirAsiaLinqDataContext();
var record = from a in LinqDataCtx.departements
where objRemoveKeys.Contains(a.departementcode)
select a;
LinqDataCtx.departements.DeleteAllOnSubmit(record);
LinqDataCtx.SubmitChanges();
for (int j = 0; j < idx.Count; j++)
{
gvDept.DeleteRow(idx[j]);
}
}
ddlAction.SelectedValue = "";
}
嗨蒂森,是的,它是我的C#代码的一部分,我认为我们可以添加一些客户端事件控制与controlname.attribute.add(“”) – NomNomNom 2013-05-03 05:57:44
@ HendraLim这将在理论上的工作,但它的东西,需要是在原始页面加载完成。在回发中添加它是没有用的,因为这是所有服务器端处理。由于您没有包括整个方法,因此很难分辨您正在做什么。看起来像,因为你引用'SelectedValue',这是回发处理。 – 2013-05-03 06:11:58
是的,这是一个回发处理,上面的所有代码都在一个下拉列表事件中,以及我认为你的建议是我拥有的最佳选择,非常感谢泰森。 – NomNomNom 2013-05-03 06:37:31