2012-10-11 49 views
3

我在asp.net mvc3上有一個應用程序,並在剃刀視圖中工作。 在我的佈局頁面上,我附加了一個css文件,並在該文件中放置了一些css,但是當我訪問/Account/LogOn視圖時,css無法正常工作。
它只適用於我在Logon視圖上附加css。任何人都知道爲什麼我的佈局頁面上附加的CSS不適用於/Account/LogOnCss在asp.net mvc3中無法正常工作Razor Views

我也試圖通過包括下面的代碼:

@{ 
Layout = "~/Views/Shared/_Layout.cshtml"; 
ViewBag.Title = "xyz.com – Login"; 
} 

它仍然沒有工作。在此先感謝

回答

4

使用URL幫手 這樣

<link rel="stylesheet" type="text/css" href="@Url.Content("~/Content/default.css")" media="screen" /> 
+0

太棒了,它的工作原理!!!!!!但是爲什麼它不能用普通的html方式工作呢? –

+3

由於根文件夾解析。當你使用html時,它不能找到css文件,因爲logOn視圖位於不同的文件夾中。 Html助手總是找到根。 –

2

在你_layout.cshtml,確保您使用您的引用應用程序的根目錄(〜)的路徑參考你的CSS。使用@Url.Content()逃生路徑:

<link href="@Url.Content("~/Content/css/styles.css")" rel="stylesheet" type="text/css" /> 
+3

@smartboy由於MVC頁面是通過路徑動態創建的,並且瀏覽器需要返回到服務器以獲取css,所以不可能在_layout.cshtml中使用靜態css路由,這將適用於不同級別的路徑(/,/../等)。因此,需要從根引用css和js,並將其與Url.Content – StuartLC

+0

勘誤在上面的評論中..不可能使用靜態 *變量* css路由... – StuartLC

0

由名稱下創建的文件夾目錄樣式表說abc.css

現在包括在LayoutPage樣式表,使其在從得到的所有頁面自動包含內容頁。

<link href="@Url.Content("~/Content/abc.css")" rel="stylesheet" type="text/css" />