1

ドロップダウンリストの選択されたインデックス変更イベントに表示しようとしているポップアップがページにあります。これが登録ステートメントです

ClientScript.RegisterClientScriptBlock(GetType(),"id", "ShowApplicationPopUp()",true);

これが私のjavascript関数です

function ShowApplicationPopUp() {

    $('#NewCustomerMask').show("slow");
    $('#NewCustomerApplicationPopUp').show("slow");

}

私の両方のdivは、最初はdisplay:none;ステートメントを使用して非表示になっています。ドロップダウンリストを変更すると、ポップアップがまったく表示されないという問題があります。アラートステートメントを配置して、関数が呼び出されているかどうかを確認しようとすると、アラートステートメントが起動されます。どんな提案でも大歓迎です。ありがとう。

4

2 に答える 2

5

使用する場合RegisterClientScriptBlock、Javascriptコードはページの早い段階に挿入されるため、要素が読み込まれる前に実行されます。

RegisterStartupScript代わりに、フォームの最後にコードを配置するを使用してください。

于 2012-06-07T07:04:36.453 に答える
0

私もこのコードを機能させることができませんでしたが、上記のおかげで私は今機能するコードを持っています。Ajaxアップデートパネル内にリンクボタンがあることに注意してください。

aspx.csページの背後にある私のコードでは次のとおりです。

protected void OpenButton_Click(object s, EventArgs e)
{
    // open new window
    string httpLink = "../newWindow.aspx";      
    ScriptManager.RegisterStartupScript(this, GetType(), "script", "openWindow('" + httpLink + "');", true);
}

私のapsxページでは、最初にjQueryソースへのリンクがあり、次にopenWindow関数のJavaScriptがあります。

<script src="../js/jquery-1.10.1.js" type="text/javascript"></script>

<script type="text/javascript">
    function openWindow(url) {
        var w = window.open(url, '', 'width=1000,height=1000,toolbar=0,status=0,location=0,menubar=0,directories=0,resizable=1,scrollbars=1');
        w.focus();
    }
</script>

そしてそれをすべて実現するリンク:

<asp:LinkButton Text="Open New Window" ID="LnkBtn" OnClick="OpenButton_Click" runat="server" EnableViewState="False" BorderStyle="None"></asp:LinkButton>

私はjQueryの専門家ではないので、この一部を次のブログに帰する必要があります。

https://blog.yaplex.com/asp-net/open-new-window-from-code-behind-in-asp-net/

于 2014-10-12T10:30:18.397 に答える