0

ページ リダイレクト (フル ポストバック) の後に jQuery モーダル ダイアログを表示することは可能ですか?

私はページを持っています:

MyEditForm.aspx/EditId=0

そのページにはフォームと保存ボタンがあり、保存ボタンをクリックすると、ユーザーにいくつかのオプションを提供するjQueryモーダルダイアログを表示したいのですが、ユーザーをこのページにリダイレクトした後にそのダイアログを表示したい:

MyEditForm.aspx/EditId=500

同じページですが (EditId=500)

これが私のコードです:

StringBuilder sb = new StringBuilder();
sb.Append("jQuery(document).ready(function () {");
sb.Append("  jQuery(function() { ");
sb.Append("    jQuery('#MyDivID').dialog({");
sb.Append("      width: 350, autoOpen: true, modal: true);
sb.Append("    });");
sb.Append("  });");
sb.Append("});");

Page.ClientScript.RegisterStartupScript(this.GetType(), "MyDialogScript", sb.ToString(), true);

Response.Redirect("~/MyEditForm.aspx/EditId=" + NewRecordId, false);

Response.Redirect を使用しない場合、ダイアログは正常に動作しますが、ユーザーを新しい ID のページにリダイレクトすることはできません。これを解決するにはどうすればよいですか?

4

1 に答える 1

2

次のコードを Page_Load メソッドに移動し、次のように変更します

protected void Page_Load(object sender, EventArgs e){
    int editId=0;
    if(Request["EditId"]!=null and Int32.TryParse(Request["EditId"], out editId)){
       if(editId>0){
          StringBuilder sb = new StringBuilder();
          sb.Append("jQuery(document).ready(function () {");
          sb.Append("  jQuery(function() { ");
          sb.Append("    jQuery('#MyDivID').dialog({");
          sb.Append("      width: 350, autoOpen: true, modal: true);
          sb.Append("    });");
          sb.Append("  });");
          sb.Append("});");
          Page.ClientScript.RegisterStartupScript(this.GetType(), "MyDialogScript", sb.ToString(), true);
       }
    }
} 

Respon.Redirect[保存] ボタンのクリック ハンドラでを使用します。

于 2012-11-18T20:04:39.773 に答える