0

SimpleModal を使用して、ASP.net アプリケーションでポップアップを作成しています。[OK] ボタンはサーバー側の関数を呼び出します。その関数の結果に基づいて、ポップアップを閉じるのではなく、ポップアップを変更 (いくつかのものを表示するなど) したいと考えています。それが難しすぎる場合は、ユーザーが何もクリックしなくても、ポップアップをもう一度開きたいと思います。これを行う最善の方法が何であるかはわかりません。

現在、ポップアップの [OK] ボタンは次のようになっています。

<asp:ImageButton ID="submitInfoBtn" OnClick="btnSubmitInfo_Click"
           ImageUrl="css/assets/btn_ok.png" runat="server"/>  

そして、OKボタンがポップアップを閉じる必要があることを伝えるものは何も定義されていません(キャンセルボタンにはclass = "simplemodal-close"があるため、OKボタンではなく、それを行うことを期待します)-誰もがアイデアを持っていますこれを乗り越える最善の方法は?前もって感謝します!!

4

3 に答える 3

0

ボタンのJavascriptハンドラーをfalseを返すように設定する必要があります。参照... aspボタンでポストバックを無効にする方法

falseが返されることに注意してください。これにより、ポストバックが防止されます。

これで、JavascriptボタンハンドラーでAjaxを使用して必要なサーバーデータを取得し、JQueryを使用してポップアップを変更できます。

ちなみに、モーダルポップアップにはJQueryUIダイアログを使用することもできます。あなたはそれを使ってはるかに多くのサポートを持っているかもしれません。

于 2010-05-19T03:53:17.463 に答える
0

SimpleModalonShowコールバックを使用して [OK] ボタンにバインドし、ajax 要求を作成してから、応答を確認して新しいコンテンツを表示します。

onCloseクローズまたはクリーンアップをアニメーション化するためだけにコールバックを使用しないでください。準備ができたら、プログラムでダイアログを閉じることができます$.modal.close();

返されたコンテンツのサイズを確認し、それに応じてモーダル ディメンションを調整する必要があります。

私が話していることの例として、flickr Badge Viewer デモ ( http://www.ericmmartin.com/projects/simplemodal-demos/ ) を見てください。

于 2010-05-22T14:21:29.827 に答える
0

それほど難しくありません。ポップアップ ウィンドウのコードを参照してください。ポップアップには [OK] ボタンがあります。[OK] をクリックするとポップアップ ウィンドウが変更される場合もあれば、クリックするとウィンドウが閉じる場合もありますが、誤解ですか?

void OK_click(object sender, EventArgs e)
{
   try
   {
      if (DataIsValid())
      {
        Save();
        this.Page.ClientScript.RegisterStartupScript(typeof(Page), "closeWindow", "<script type='text/javascript'>self.opener=null; self.close();</script>");
      }
      else ErrorLabel.Visible = true;
   }
   catch { ErrorLabel.Visible = true; }

}
于 2010-05-19T05:59:17.037 に答える