簡體   English   中英

在C#中回發運行javascript

[英]Run a javascript on postback in c#

我使用以下方式在回發時運行JavaScript,它對我來說很好用。

protected void Page_Load(object sender, EventArgs e)
{
    if (this.IsPostBack)
    {
        Page.ClientScript.RegisterStartupScript(this.GetType(),"PostbackKey","<script type='text/javascript'>document.getElementById('apDiv1').style.visibility = 'hidden';</script>");
        Page.ClientScript.RegisterStartupScript(this.GetType(),"PostbackKey","<script type='text/javascript'>function show()</script>");
    }
    else
    {
        Page.ClientScript.RegisterStartupScript(this.GetType(),"PostbackKey","<script type='text/javascript'>document.getElementById('apDiv1').style.visibility = 'visible';</script>");
    }
}

上面的代碼工作正常,現在我想嘗試以下類似的方法。

protected void Page_Load(object sender, EventArgs e)
{
    if (this.IsPostBack)
    {
        Page.ClientScript.RegisterStartupScript(this.GetType(),"verify","<script type='text/javascript'>verify1();</script>");
    }
    else
    {
    }
}

上面的代碼中的verify1()是從外部鏈接到ASPX頁面的JavaScript。 我無法使用此代碼執行verify1()函數。 並且當放置為<body onload="verify1();">時, verify1()函數工作正常,我的上述代碼中是否有語法錯誤?

這可以幫助您,

Page.ClientScript.RegisterStartupScript(this.GetType(),“ verify”,“ verify1()”,true);

也許該腳本是在verify1()函數定義之前執行的。 在body.onload觸發時,主頁已完成解析並且所有外部腳本均已加載,這就是它在這種情況下起作用的原因。

你可以使用jQuery嗎? 一種選擇是使用jQuery的onload功能,直到所有內容初始化后才會執行:

$( function() { ...my startup code... });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM