簡體   English   中英

從ascx頁面代碼后面調用Javascript函數

[英]call a Javascript function from ascx page code behind

我正在使用以下客戶端腳本將值傳遞給javascript函數。 它在aspx頁中工作正常,但在ascx頁中卻無法工作。 請幫我解決這個問題。

ScriptManager.RegisterStartupScript(this, this.GetType(), "tabmvng", "<script language='javascript'>SetActiveTab(3); </script>", false);

試試這個,這都是因為UserControl,您不再需要處理Page。

 ScriptManager.RegisterClientScriptBlock(this.Page, typeof(UpdatePanel), UniqueID, "myFunction('" + parameter + "');", true);

嘗試以下

<script type='text/javascript'>
function SetActiveTab(a){
alert(a);
}
</script>

ScriptManager.RegisterStartupScript(this, this.GetType(), "tabmvng", "SetActiveTab(3);", true);
Control Caller = this; //user control
string MyScript= "SetActiveTab(3);";
ScriptManager.RegisterStartupScript(Caller, typeof(Caller), "Script Name", MyScript), true);

通過腳本管理器無法從該用戶控件向頁面對象添加腳本的過程中使用對調用用戶控件的引用。 此外,它將為您包裝腳本,因此無需添加script標簽。

編輯說明:我假設此函數存在於您的腳本中的某個位置: SetActiveTab(3);

ScriptManager.RegisterStartupScript(this.Page, typeof(System.Web.UI.Page), "javascript", "YourScript", true);

我有同樣的問題,即Javascript不在html輸出中。 事實證明,如果要從ascx(控件)執行此操作,則必須將引用傳遞給控件,​​例如Me

ScriptManager.RegisterStartupScript(Me, GetType(Page), Guid.NewGuid().ToString(), jscript, True)

在那之后,所有工作開始了! 謝謝馬克舒爾泰斯!

暫無
暫無

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

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