2013-04-02 133 views
2

我正在使用以下客戶端腳本將值傳遞給javascript函數。它在aspx頁面中工作正常,但在ascx頁面中,它不起作用。請幫我解決這個問題。從後面的ascx頁面代碼調用Javascript函數

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

如果你告訴我們什麼不起作用,而不是期待人們猜測它,它會有很大幫助。 – nunespascal

回答

1

嘗試以下

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

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

打通無法新增腳本以從該用戶的控制使用的主叫用戶控件的引用Page對象腳本經理。另外,它會爲你包裝腳本,因此不需要添加腳本標籤。

編輯注:我認爲在你的腳本這個功能存在的地方:SetActiveTab(3);

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

試試這個,這都是因爲用戶控件,您不再處理一個頁面。

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

我有同樣的問題的Javascript不在html輸出。如果你是通過ascx(控件)完成這個操作,則必須將參考傳遞給控件,​​例如Me

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

之後,所有開始工作!謝謝Mark Schultheiss!

相關問題