0

これが私のシナリオです:

私はVB ASP「NextPageButton」、クリックメソッドのVB「NextPageButton」、および以下に示すJavascript「#Next」関数を持っています。クリックすると、この ASP「NextPageButton」は「NextPageButton」メソッドを呼び出します。このメソッドは、ユーザーに「次のページに進む前に保存しますか?」と尋ねるメッセージ ボックスを表示します。(これは、このメソッド内で goToRequestedPage() が呼び出されたときに行われます)。次に、ユーザーが応答した後、ユーザーは、以下に示す Javascript の「次へ」関数を使用して、BR (BookReader) の次のページに移動できる必要があります。ただし、ASP の「NextPageButton」でその VB の「NextPageButton」メソッドを呼び出すことしかできず、Javascript の「#Next」関数を呼び出すことはできません。

// VB ASP の "NextPageButton" は次のとおりです。

<asp:Button ID="NextPageButton" runat="server" Text="Next Page" Height="24px" />

// これは、ASP の「NextPageButton」がクリックされたときに呼び出される「NextPageButton」VB メソッドです。

Protected Sub NextPageButton_Click(sender As Object, e As EventArgs) Handles NextPageButton.Click
        Dim TransAdapter As New TransTableAdapter
        ' Increment global current page number by one page
        gbCurrentPage += 1
        'autoSaveCheckBoxStatus()
        goToRequestedPage()
End Sub

// Javascript は次のとおりです。

<script type="text/javascript">
$().ready(function () {

// 具体的には、上記の「NextPageButton」メソッドが完了した後、「//クリック」で呼び出される Javascript の「Next」関数です: (これは //RenderBR() 関数を呼び出します)

 $("#Next").click(function () {
                if (splitType == "v") {
                    RenderBR('#CenterLeft', gbCurrentPage + 1);
                }
                else {
                    RenderBR('#CenterTop', gbCurrentPage + 1);
                }
            });
});
</script>

*質問: ASP の「NextPageButton」で VB の「NextPageButton」メソッドを呼び出し、ユーザーが MsgBox の質問に回答した後に Javascript の「#Next」関数を呼び出すにはどうすればよいですか?

4

2 に答える 2

0

私が間違っていなければ、クリックすると関数NextPageButtonが呼び出されるNextPageButton_Clickので、ユーザーがボタンをクリックした後にJavascriptを呼び出すだけです。これを行うには、次の変更をお勧めします。

ボタン クライアントのクリックとサーバー側から呼び出される関数を作成します。

function functionCall()
{
    if (splitType == "v") 
    {
        RenderBR('#CenterLeft', gbCurrentPage + 1);
    }
    else
    {
        RenderBR('#CenterTop', gbCurrentPage + 1);
    }
}

これは、ボタンのクリックから呼び出します。

$("#Next").click(function () 
{
    functionCall();
});

クリックイベントが実行された後、サーバーから呼び出します。

Protected Sub NextPageButton_Click(sender As Object, e As EventArgs) Handles NextPageButton.Click
        Dim TransAdapter As New TransTableAdapter
        ' Increment global current page number by one page
        gbCurrentPage += 1
        'autoSaveCheckBoxStatus()
        goToRequestedPage()
        ScriptManager.RegisterStartupScript(this, this.GetType(), "functionCall", "functionCall();", true);
End Sub

ただし、これはPostBackが発生した後に実行されます。メソッドがリダイレクトを行う場合goToRequestedPage()、この JavaScript コードは実行されません。

于 2013-07-31T20:38:33.740 に答える
-2

できません。
Webforms でポストバックを行うと、クライアントが失われます。それが機能したとしましょう - 閉じようとしているページで JavaScript を実行するか、次のページに魔法のように表示する必要がありますか?

Aspnet
http://msdn.microsoft.com/en-us/library/ms178472(v=vs.100).aspx
http://hemantg.blogspot.se/2010/12/aspnet-でイベントの順序を確認してください。 event-sequence.html
と考え直してください。

残念ながら、それ以上の答えを出すことはできません。

于 2013-07-31T20:37:47.913 に答える