0
protected void addSchoolButtonClick(object sender, ImageClickEventArgs e)
    {

        Page.ClientScript.RegisterStartupScript(GetType(), "MyKey1", "SchoolSearchPopUp();", true);

        /*Some code*/
    }

私はasp.netでWebサイトを開発しています.Hyperlink onclickイベントでjavascriptを呼び出したいfunction"SchoolSearchPopUp()".この関数は新しいポップアップウィンドウを作成するためのもので、正しく機能しています.しかし、私の問題は、javascript関数が呼び出しているかウィンドウをポップすることです.その関数の残りのコードを実行した後にのみ開き、そのコードはポップアップの結果として発生するデータを必要とします。その関数の残りのコードを実行する前にポップアップを作成するにはどうすればよいですか。

4

4 に答える 4

0

If you want to execute some javascript before your postback you will need to register your hyperlink's click event to a js method, then submit your post to the server after performing whatever client side logic you are looking to run. (not the other way around, using RegisterStartupScript)

Example:

$("#myHyperLink").click(function() {

    // do page logic, in your case show a modal window
    $("#myModalDivContainer").show();


    // submit your post to the server... replace targetClientID with ID of server control you're posting to
    __doPostBack('targetClientID', '');

   // NOTE: If you want to perform an AJAX request instead simply use some jQuery here instead. it's up to you how to handle the request from this point :)

});

Hope this helps!

于 2013-01-18T15:01:48.357 に答える
0

コードビハインドからJavaScriptを呼び出すことはできないと思います。C# はサーバーから実行され、Java はすべてクライアント側です。ここに同様の質問に対する良い説明があります: http://forums.asp.net/t/1117189.aspx

JavaScript 関数を実行する必要がある場合は、ハイパーリンクをボタンに変更し、OnClientClick プロパティを使用してみてください。これにより、サーバーでメソッドを呼び出すのではなく、クライアント側でスクリプトが実行されます。

     <asp:button id="Button1"
                 text="Click Here"
                 onclientclick="SchoolSearchPopUp()"
                 runat="server" />

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.button.onclientclick.aspx

于 2013-01-18T14:58:42.747 に答える
0

ポストバック トリガーをポップアップ内の何かに変更します。

于 2013-01-18T14:45:49.200 に答える
0

最初にボタンのクリックを処理する JavaScript をページに記述し、次にサーバーでページ メソッドを呼び出す必要があります。ボタン要素に OnClientClick 属性を追加し、そこから JavaScript メソッドを実行します。

<asp:Button ID="TestButton" OnClientClick="SchoolSearchPopup()" Text="Click Me" OnClick="addSchoolButtonClick" runat="server"/>

<script type="text/javascript">
    function SchoolSearchPopup()
    {
        alert("Popup");
    }
</script>
于 2013-01-18T15:00:02.500 に答える