2011-03-08 83 views
0

我使用mvc3剃鬚刀。我有一個正常的網站結構和一個小後端的區域。在那個區域,我不想使用我的「內容」(樣式表,js),只有我的後端使用該文件夾。MVC3剃鬚刀樣式表區內

什麼是正確的方式來引用我在我的後臺佈局頁面?

THX提前:)

+0

這是否意味着要防止前端用戶從管理內容的文件夾訪問「內容」?這是否意味着安全限制? – 2011-03-08 17:49:03

回答

0

你需要考慮的是,在MVC的區域不是一個真正的物理文件夾結構像它會在URL(或項目)看起來。我想簡單地組織它是這樣的:

/Content/Public/Css 
/Content/Public/Images 
/Scripts/Public/ 

/Content/BackEnd/Css 
/Content/BackEnd/Images 
/Scripts/BackEnd 

UPDATE 爲了澄清我的意思是面積不是一個物理文件夾結構:

如果您在你的項目中有Area Admin,默認的RouteURL是/ Admin/{controller}/{action},而不是/ Areas/Admin/{controller}/{action}(儘管你可以自由設置你的路由,當然)

這意味着如果您在/ Areas/Admin文件夾下添加一個Content-文件夾,並將CSS文件放在該文件中 - 如果您只是將文件拖放到標記中,Visual Studio將不會正確解釋該文件。該HTML會產生:

<link href="../../Areas/Admin/Content/StyleSheet1.css" rel="stylesheet" type="text/css" /> 

而網址到管理區僅僅是www.mysite.com/Admin/

這導致了一些混亂,什麼是正確的網址樣式表?

www.mysite.com/Admin/Content/stylesheet1.css

www.mysite.com/Areas/Admin/Content/stylesheet1.css 

意見早晚的事情,但是這是我反正:)

+0

我可以向你保證我的Area是一個物理文件夾結構(稱爲Areas/...) – Nealv 2011-03-08 14:28:16

+0

是的,我知道他們是,但我不認爲在MVC應用程序中使用相同的文件夾,就像我在一個webforms應用程序。我的意思是你減少文件夾路徑長度(即/Areas/Admin/Content/Css/site.css)..我認爲保持所有網站的CSS和其他內容在根目錄上的Content-folder沒有問題..沒有需要多個內容文件夾:) – 2011-03-08 14:32:00

+0

請參閱我的更新。 – 2011-03-08 14:46:00