0

我有一个包含 gridview 的 asp.net 3.5 应用程序,将复选框作为列之一。

如果用户没有选择任何复选框并单击提交按钮,则会触发警报,提示用户选择按钮。

触发警报的代码如下;

 System.Text.StringBuilder sb = new System.Text.StringBuilder();
 sb.Append(@"<script language='javascript'>");
 sb.Append(@"alert('Please select at least one record!')");
 sb.Append(@"</script>");
 ScriptManager.RegisterStartupScript(upnlGrid, this.GetType(), "GridView", sb.ToString(), false);
 BindGrid();

在警报被触发之前,我看到“正在加载...”图像(ajax 更新进度条),这很好。但是在警报被触发后,我仍然需要看到相同的图像,这是不可见的。由于该页面被挂起几秒钟(5-10 秒)。对于那 5-10 秒,我需要显示加载图像。

请指导!

4

1 回答 1

0

您可以在回发之前尝试验证选择。这是一个粗略的例子:

<asp:Button ID="Button1" runat="server" Text="Foo" OnClientClick="return validateGridSelection()" ... />

还有你的 JavaScript 函数:

validateGridSelection = function() {
    var itemsSelected = 0;
    $("#<%=GridView1.ClientID%>").find("input:checkbox").each(function() {
        if (this.checked) {
            itemsSelected++;
        }
    });
    if (itemsSelected == 0) {
        alert("Please select at least one checkbox.");
    }
    return true;
} 
于 2011-09-08T16:24:24.010 回答