0

私は.aspxファイルのページロード内に書かれているRegisterClientScriptBlockを持っていますprotected void Page_Load(object sender, EventArgs e)

スクリプトは実際に URL から ID を取得し、それを javascript の openticketPageLoad() 関数に渡します。

しかし、openticketPageLoad() 関数には入っていません。しかし、.aspx ページが読み込まれています。

openTickets.aspx.cs

public partial class Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
ClientScript.RegisterClientScriptBlock(this.GetType(), "openTicketsScript", "<script type=\'type/javascript\'>$(document).ready(function(){openticketPageLoad(" + Request.QueryString["ID"].ToString() + ");});</script>".ToString(), true);
}
}

私のjavascriptファイルの中

function openticketPageLoad(b)
{
alert(b); //No alert window coming.
}
4

4 に答える 4

2

ここのドキュメントを参照してください: http://msdn.microsoft.com/en-us/library/system.web.ui.clientscriptmanager.registerclientscriptblock.aspx

最後のパラメーターは、ASP.net がスクリプト タグを生成するかどうかを指定するブール値です。すでに指定しているように、ソースを見ると、ネストされたスクリプトタグを生成していると思います。

于 2013-02-07T10:23:46.393 に答える
1

次のコードを試すことができますか?

public partial class Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        ClientScript.RegisterClientScriptBlock(this.GetType(), 
                "openTicketsScript", string.Format("openticketPageLoad({0});", Request.QueryString["ID"]), true);
    }
}
于 2013-02-07T17:13:34.250 に答える
1

おそらく、ページの本文のロード イベントで直接 JavaScript 関数への呼び出しを割り当てることができます。コンテンツ ページから本文の読み込み機能を割り当てるには、次の操作を実行できます。

HtmlGenericControl body = this.Master.FindControl("body") as HtmlGenericControl;
                body.Attributes.Add("onLoad", "openticketPageLoad(" + Request.QueryString["ID"].ToString() + ");");

マスター ページで、runat="server" を body 要素に追加します。

<body id="body" runat="server">

これが役立つことを願っています。

于 2013-02-07T17:04:50.837 に答える
1

これを試して

Page.ClientScript.RegisterStartupScript(this.GetType(), "openTicketsScript", "<script type=\'type/javascript\'>$(document).ready(function(){openticketPageLoad(" + Request.QueryString["ID"].ToString() + ");});</script>".ToString(), true);
于 2013-02-07T10:24:14.460 に答える