使用者戶操作刪除記錄之前給使用者一個確認是否刪除的提示。一般情況之下,一條記錄一條記錄刪除是沒有問題的。但是,如遇到可以多選,如果使用者沒有選擇記錄,直接去點刪除銨鈕,它會首先提示刪除前的確認資訊,再提示使用者沒有選擇想要刪除的記錄。
Insus.NET想實現的是,把它的順序調換一下,首先判斷使用者是否有選擇記錄,如果沒有,提示使用者選擇記錄,一旦有選擇記錄時,才提示刪除前確認資訊。
下面執行個體,將是GridView第一例放置一個CheckBox,讓使用者多選記錄,然後在Gridview外放一個Delete銨鈕。
示範:http://www.jb51.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;
}