Asp.net 不同文件夹中的Css

Asp.net 不同文件夹中的Css,asp.net,asp.net-mvc,asp.net-mvc-4,Asp.net,Asp.net Mvc,Asp.net Mvc 4,我试图使类似“模板系统”的东西,它可能允许用户更改网站模板。例如,在管理面板中 我当前的文件结构 -Controllers -Models -Views --Templates ---DefaultTemplate ----css -----style.css ----Index.cshtml 在默认控制器(主)中,我检查当前模板名称并显示右视图 private ViewResult TemplateView(string viewName) { return View($"~/Vie

我试图使类似“模板系统”的东西,它可能允许用户更改网站模板。例如,在管理面板中

我当前的文件结构

-Controllers
-Models
-Views
--Templates
---DefaultTemplate
----css
-----style.css
----Index.cshtml
在默认控制器(主)中,我检查当前模板名称并显示右视图

private ViewResult TemplateView(string viewName)
{
    return View($"~/Views/Templates/{GlobalSettings.CurrentTemplate}/{viewName}.cshtml");
}
和一些模板视图(
Index.cshtml

但在结果HTML中,它类似于
mysite.com/css/style.css
,所以我得到了404(未找到)

我也试过这个

    ~/Views/Templates/DefaultTemplate/css/style.css
在这种情况下,我也得到了404


有人能帮我吗?如何将正确的URL写入CSS、图像、hs等?

默认情况下,/Views文件夹中的web.config文件限制对文件夹中文件的所有访问:

将代码添加到web.config文件:

<httpHandlers>
    <add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/>
</httpHandlers>


注意:在视图文件夹中存储css文件不是一个好的做法

我可以只允许指定路径的访问吗?不适用于所有视图文件夹?请参阅,但为什么存储在视图文件夹中?用户友好性。“只需将包含视图、css、js、图像的文件夹放在templates文件夹中,并在settings中选择即可”-无需将样式放在“css/template”中,将条纹放在“js/template”中等。
    ~/Views/Templates/DefaultTemplate/css/style.css
<httpHandlers>
    <add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/>
</httpHandlers>