得到我想在這裏通過頭對象:如何在頁眉
<%=FileUtil.AddStylesheetToHeader(Header, "UsedItems.css") %>
在我的母版頁我有一個<head runat="server">
。而且我的aspx頁面在我的基於.aspx的MVC頂部的頁面指令中肯定有一個對我的MasterPageFile的引用。
我也有一個import語句的FileUtil類位於命名空間:
<%@ Import Namespace="xxxx.Web.Utilities" %>
在標準的ASP.NET,你可以參考的標頭this.Header但在MVC我不能做這...或者我缺少某種進口或某物。
由於某種原因,但在運行時,與調用AddStylesheetToHeader,我得到以下錯誤:
爲「System.IO.TextWriter.Write(char)的」有一些無效參數的最佳重載的方法匹配。
我不知道它爲什麼在尋找.NET類型,因爲我知道當我在編譯時將鼠標懸停在FileUtil上時,它肯定引用了xxxx.Web.Utilities.FileUtil。
在這種方法我使用HtmlLink styleSheet = new HtmlLink();
我可能無法使用它,因爲它是一個ASP.NET Web控件?這是該方法:
public static void AddStylesheetToHeader(HtmlHead header, string cssFilename)
{
HtmlLink styleSheet = new HtmlLink();
styleSheet.Href = "content/css/" + cssFilename;
styleSheet.Attributes.Add("rel", "stylesheet");
styleSheet.Attributes.Add("type", "text/css");
header.Controls.Add(styleSheet);
}
我不認爲我可以使用源自System.Web.Controls的conrols,因爲這是一個ASP.NET應用程序?如果是這樣,我該如何將控件添加到標題控件集合?我需要在MVC中以不同的方式做到這一點嗎?
這個問題是特定於ASP.NET MVC。我拿出了ASP.NET標籤。 – PositiveGuy 2010-02-22 03:11:17
看來你可能不得不去JavaScript的路線添加CSS鏈接! – azamsharp 2010-02-22 03:13:01
我的猜測是,當它打到我的代碼時,頁面已經顯示出頭部,我無法返回並添加到它。當它是傳統的ASP.NET時,我將它添加到page_load中,然後再考慮將頁眉添加到頁面中。所以不知道如何用MVC做到這一點,因爲沒有代碼隱藏。我知道我可以在JavaScript中做到這一點,但想看看我能否以某種方式掛鉤到頁面的呈現中......可能不是? – PositiveGuy 2010-02-23 02:03:53