スクリプトを含むASP.Netページがあります:#
var Show;
$(document).ready(function () {
...Set fooDialog to autoOpen=false
...Open the dialog on fooLink.Click
if(Show){
...Open the dialog
}
動作は、ユーザーがページを開いたときに、このモーダルダイアログがデフォルトで非表示になることです。次に、fooLinkをクリックすると、それが開きます。グリッドに入るテキストを入力して閉じると、再び非表示になります。
ここで、ユーザーがグリッド内のその行で[編集]をクリックすると、そのダイアログに値が表示されます。
ユーザーが行の編集を選択すると、コードビハインドが呼び出されます。
protected void foo_RowEditing(object sender, GridViewEditEventArgs e)
{
...fill in the values in the dialog
...ClientScript.RegisterStartupScript(this.Page.GetType(), "webMethod", String.Format("<script>SetShowFooDialog()</script>"));
}
問題は、fooDialogueを開く関数が背後のコードによって呼び出され、次に$(document).ready(function()が呼び出されてオーバーライドされ、ダイアログが非表示に設定されることです。したがって、実際には、それをロードしてから非表示にします。クライアントでページをリロードしているため。
これを回避する方法はありますか?