2011-09-08 7 views
0

私はgridviewを含むasp.net 3.5アプリケーションを持っています。Registerstartupスクリプトの起動後にページがハングアップしないようにする

ユーザーがチェックボックスを選択せず​​に[送信]ボタンをクリックすると、アラートが発せられ、ボタンを選択するよう促されます。

警告を発するコードは次のとおりです。

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秒間、私はLoading Imageを表示する必要があります。

ご案内ください!

答えて

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; 
} 
+0

おかげで、私のクエリは、アラートを起動する方法はなく、警告後に、プログレスバーを表示する方法ではありませんここでは大まかな例ですグリッドが完全にロード(バインド)されるまで起動します –

+0

ポストバックが発生する前にアラートを表示すると、アラートの後に進行状況バーが表示されます。私はあなたが関係なくtrueを返すようにメソッドを変更する必要があると思う(ポストバックを実行する) –

+0

何が変更する必要がありますか? –

関連する問題