在 ASP.NET MVC 应用程序中将特定于视图的 javascript 文件放在哪里?

2023-11-21

在 ASP.NET MVC 应用程序中放置特定于视图的 javascript 文件的最佳位置(哪个文件夹等)是什么?

为了保持我的项目井井有条,我真的很希望能够将它们与视图的 .aspx 文件并排放置,但我还没有找到一种在不暴露 ~/Views 的情况下引用它们的好方法/Action/ 文件夹结构。泄露该文件夹结构的详细信息真的是一件坏事吗?

另一种方法是将它们放在 ~/Scripts 或 ~/Content 文件夹中,但这有点刺激,因为现在我必须担心文件名冲突。不过,如果这是“正确的事情”,我可以克服这种恼怒。


老问题,但我想提出我的答案,以防其他人来寻找它。

我也想在views文件夹下查看特定的js/css文件,我是这样做的:

在 /Views 根目录的 web.config 文件夹中,您需要修改两个部分以使网络服务器能够提供文件:

    <system.web>
        <httpHandlers>
            <add path="*.js" verb="GET,HEAD" type="System.Web.StaticFileHandler" />
            <add path="*.css" verb="GET,HEAD" type="System.Web.StaticFileHandler" />
            <add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/>
        </httpHandlers>
        <!-- other content here -->
    </system.web>

    <system.webServer>
        <handlers>
            <remove name="BlockViewHandler"/>
            <add name="JavaScript" path="*.js" verb="GET,HEAD" type="System.Web.StaticFileHandler" />
            <add name="CSS" path="*.css" verb="GET,HEAD" type="System.Web.StaticFileHandler" />
            <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
        </handlers>
        <!-- other content here -->
    </system.webServer>

然后,您可以从您的视图文件中引用您期望的网址:

@Url.Content("~/Views/<ControllerName>/somefile.css")

这将允许提供 .js 和 .css 文件,并禁止提供任何其他文件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 ASP.NET MVC 应用程序中将特定于视图的 javascript 文件放在哪里? 的相关文章

随机推荐