2012-09-06 65 views
0

這是我的代碼:試圖在ASP.NET中添加一個文字,但它不會alllow它,因爲它包含代碼?

Page.Header.Controls.Add(new LiteralControl("<link rel=\"stylesheet\" href=\"" + Urls.FindCSS("jquery-modalpopup.css") + "\" type=\"text/css\" />")); 

我新的ASP.NET和使用字面但是從我讀這應該是有效的但我在運行時得到此異常:
The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>).

我搜索了類似的問題當然,但use <%#解決方案又名數據綁定不適合我。

如果您有任何我正在傾聽的解決方案或建議。

+1

Urls.FindCSS(「jquery-modalpopup.css」)返回什麼? –

+0

它找到了css文件,這是沒有問題的問題是我如何動態地添加一個鏈接到ascx中的文件。 –

回答

1

您需要從頭文件中刪除<% ... %>,而使用另一個文字。

+0

我很抱歉,但它只是沒有點擊我,我該怎麼做更詳細的,我需要一個解決方案,這意味着儘可能少的重構。 –

+0

錯誤提示Page.Header包含<% ... %>塊,您需要檢查您的aspx文件才能看到它,因爲此塊無法添加控件集合,所以您需要從頭中刪除該塊並將其替換與文字控制或你需要添加新的內容使用另一<% ... %>塊 – MichaelT

+0

謝謝你會嘗試這個。 –

1

你也可以嘗試使用

Page.ClientScript.RegisterClientScriptInclude("jquery-modalpopup", 
    Urls.FindCSS("jquery-modalpopup.css")); 

,而不是添加J-腳本包括通過文字,從而避免調用Controls.Add

道歉,我剛剛發現這不會在頭文件中添加腳本,它可能仍然有幫助。

相關問題