2012-06-02 41 views
1

我想在頭動態鏈接javascript文件動態地在asp.net

<script src='<%=Global.RootPath%>js/jquery1.4.2.js' type="text/javascript"></script> 
<script src='<%=Global.RootPath%>js/jquery.mousewheel-3.0.4.pack.js' type="text/javascript"></script> 

鏈接到一個javascript文件,但我得到了一個錯誤

Controls集合不能修改,因爲該控件包含代碼塊(即<%...%>)。

描述:在執行 當前Web請求期間發生未處理的異常。請查看堆棧跟蹤以獲取有關該錯誤的更多信息以及源代碼的位置。

異常詳細信息:System.Web.HttpException: The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>).

我要動態添加JavaScript文件。請解釋爲什麼我得到這個錯誤,是否有其他方法來做到這一點?

回答

0

是的,當您嘗試渲染標題上的內容時,這是一個常見錯誤。

你可以做替代這樣想:

將文字控制,並完全呈現在你的代碼腳本行後面。

<asp:Literal runat="server" id="txtScripts" EnableViewState="false" /> 

和渲染背後的

txtScripts.Text = string.Format(
"<script src='{0}js/jquery1.4.2.js' type=\"text/javascript\"></script>", Global.RootPath); 

或者替代你完全可以動態地創建他們並添加到頭部控制列表上的代碼全線。

0

要包含一個JavaScript,你也可以在文檔的末尾加入一個javascript。如果你想特別插入頭部,然後創建一個文字控件並將其文本設置爲腳本標籤並將其添加到Page.Headers。