MVC 视图和 JavaScript 文件
Posted
技术标签:
【中文标题】MVC 视图和 JavaScript 文件【英文标题】:MVC View and JavaScript file 【发布时间】:2009-09-25 08:19:35 【问题描述】:当在一个视图中,在 MVC 中,并且你有你的 javascript 时,我试图将它移动到同一目录中的一个 JavaScript 文件,它报告它无法归档 javascript 文件
作为示例,我使用了 NerdDinner 和 DinnerForm.aspx,在与 DinnerForm.aspx 相同的目录中创建了一个名为 DinnerForm.js 的 JavaScript 文件,并在 aspx 文件中引用了它,如下所示:
这是问题所在,如果我的 JavaScript 文件与 DinnerForm.aspx 不在项目中的同一目录中,我需要将其保存在附近,我该怎么做?
我不想放置完整路径,例如:“~\views\dinners\dinnerform.js”,因为这只是一种解决方法,以后会引起问题
有什么想法吗?
【问题讨论】:
【参考方案1】:您不能在 Views 文件夹中拥有 JavaScript 文件,因为它实际上并不存在于浏览器中。如果您查看 Views 文件夹中的 Web.config 文件,您会发现它被设置为 HttpNotFoundHandler
处理程序。这意味着它为对其文件夹的所有请求返回 404。
为什么不把它们放在 Scripts 文件夹中呢?你总是可以在它下面有子文件夹。
例如/Scripts/Dinner/dinnerform.js
【讨论】:
关于 HttpNotFoundHandler 的有趣信息。谢谢! 是的,我知道您可以这样做,但是它将 html 从 JavaScript 中分离出来,使其难以在后期维护,因此不这样做的原因。目前 JavaScript 位于 html 视图中,因此将其移动到另一个目录只会增加复杂性。【参考方案2】:按照惯例,JavaScript 文件应该放在项目的 Scripts 文件夹中,并且可以链接为
<script src="<%= Url.Content("~/Scripts/jquery-1.3.2.js") %>"
【讨论】:
以上是关于MVC 视图和 JavaScript 文件的主要内容,如果未能解决你的问题,请参考以下文章
参考视图文件夹中的 JavaScript 文件 - MVC 5
ASP.NET Core 2.0 MVC 6. 如何管理每个视图的javascript文件?
在 ASP.NET MVC 视图中突出显示 javascript 文件的语法?