3

JavaScriptはよくわかりません。次のコードを使用して、いくつかのインライン ASP.NET サーバー コントロール/HTML のボタン クリックでポップアップを作成しています。

<script src="http://ajax.microsoft.com/ajax/jquery/jquery-1.3.2.js" type="text/javascript"></script>
<script src="http://ajax.microsoft.com/ajax/beta/0911/Start.debug.js" type="text/javascript"></script>
<script src="http://ajax.microsoft.com/ajax/beta/0911/extended/ExtendedControls.debug.js"
    type="text/javascript"></script>
<script type="text/javascript">
    Sys.debug = true;
    var popup;
    Sys.require(Sys.components.popup, function () {
        popup = Sys.create.popup("#popup", {
            parentElementID: "target",
            onShow: '{AnimationName: "Sequence", AnimationChildren: [{AnimationName:"HideAction", visible: true},{AnimationName:"FadeIn"}]}'
        });
    });  

このボタンはコンテンツを開き、うまく機能します:

<input type="button" onclick="popup.show()" value="Search Stories" />

私の問題は、2 つのサーバー コントロールがポストバック時にボックスを非表示にすることです。ポストバックは確かにそのうちの1つに必要です。ページが更新され、ボタンが押されていないため、これは理にかなっています。特定の状況 (ポストバックを発生させるこれら 2 つのアクションの 1 つ) で、ポップアップが表示された状態でページがポストバックする場所を作成するにはどうすればよいですか?

4

1 に答える 1

0

これを試すことができます:

http://msdn.microsoft.com/en-us/library/z9h4dk8y.aspx

ClientScriptManager cs = Page.ClientScript;

if (!cs.IsStartupScriptRegistered(this.GetType(), "ShowPopup"))
{
  String cstext1 = "alert('Hello World');";
  cs.RegisterStartupScript(this.GetType(), "ShowPopup", "popup.Show()", true);
}
于 2013-07-19T20:53:42.193 に答える