2011-08-15 162 views
1

我有一個抽象的用戶控件,它提供了一些控件的常用功能,它需要一些JavaScript函數來連接客戶端事件,注入這個JavaScript的最佳方式是什麼。asp.net webforms註冊用戶控件的JavaScript

我確實看過ScriptManager.RegisterClientScriptBlock,但它似乎是針對使用UpdatePanels之類的,我沒有這樣做,如果我想要做的只是將此JavaScript位於一個地方,並從抽象用戶控件呈現?

回答

1

另一種選擇是在頁面中包含頭一個JavaScript文件,像這樣:

LiteralControl jsResource = new LiteralControl(); 
jsResource.Text = "<script type=\"text/javascript\" src=\"js/mini-template-control.js\"></script>"; 
Page.Header.Controls.Add(jsResource); 

HtmlLink stylesLink = new HtmlLink(); 
stylesLink.Attributes["rel"] = "stylesheet"; 
stylesLink.Attributes["type"] = "text/css"; 
stylesLink.Href = "css/mini-template-control.css"; 
Page.Header.Controls.Add(stylesLink); 

這裏有一個類似的問題,我發現:

Programmatically adding Javascript File to User Control in .net

1

如果您未在異步回傳中呈現,請改爲使用ClientScriptManager的RegisterClientScriptBlock。您可以從Page.ClientScript屬性中訪問此項。如果你使用ScriptManager的方法,它應該可以工作,但是除了你的控制之外,它會要求頁面上有一個ScriptManager。