2011-03-08 87 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