用户户操作删除记录之前给用户一个确认是否删除的提示。一般情况之下,一条记录一条记录删除是没有问题的。但是,如遇到可以多选,如果用户没有选择记录,直接去点删除铵钮,它会首先提示删除前的确认信息,再提示用户没有选择想要删除的记录。
Insus.NET想实现的是,把它的顺序调换一下,首先判断用户是否有选择记录,如果没有,提示用户选择记录,一旦有选择记录时,才提示删除前确认信息。
下面实例,将是GridView第一例放置一个CheckBox,让用户多选记录,然后在Gridview外放一个Delete铵钮。
演示:http://www.phpstudy.net/article/33564.htm
xxx.aspx:
<asp:Button ID=\"ButtonDelete\" Text=\"Delete\" runat=\"Server\" OnClick=\"ButtonDelete_Click\"
CausesValidation=\"false\" />
<asp:GridView ID=\"GvCutterType\" runat=\"server\" DataKeyNames=\"CutterTypeId\" AutoGenerateColumns=\"false\">
<Columns>
<asp:TemplateField>
<ItemStyle BorderWidth=\"1\" BorderColor=\"#c0c0c0\" Width=\"1%\" />
<ItemTemplate>
<asp:CheckBox ID=\"CheckBox1\" runat=\"server\" onclick=\"Javascript:changeRowBgColor(this)\" />
</ItemTemplate>
</asp:TemplateField>
<!--
other column templateField
-->
</Columns>
</asp:GridView>
xxx.aspx.cs:
protected void Page_Load(object sender, EventArgs e)
{
this.ButtonDelete.Attributes.Add(\"onclick\", \"return ConfirmOnDelete();\");
}
protected void ButtonDelete_Click(object sender, EventArgs e)
{
//do delete something
}
Javascript:
function ConfirmOnDelete() {
if (document.getElementById(\"<%= GvCutterType.ClientID %>\") == null) {
return false;
}
var objgv = document.getElementById(\"<%= GvCutterType.ClientID %>\");
var rc = objgv.rows.length;
var y = 0;
for (var i = 0; i < rc; i++) {
var getInput = objgv.rows[i].cells[0].getElementsByTagName(\"input\");
if (getInput[0].type == \"checkbox\") {
if (getInput[0].checked) {
y = y + 1;
}
}
}
if (y <= 0) {
alert(\"首先选择想要删除的记录。\");
return false;
}
if (confirm(\"以下选择的记录将被删除。\") == true)
return true;
else
return false;
}
本文地址:https://www.stayed.cn/item/22041
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我