我想知道在部分视图中包含javascript文件的最佳做法是什么.一旦渲染,这将最终作为我的页面的html中间的js包含标记.从我的角度来看,这不是一个很好的方法.它们属于head标签,因此不应阻止浏览器一次性呈现html.
一个例子: 我在'PictureGallery'局部视图中使用了一个jquery picturegallery插件,因为这个局部视图将在几个页面上使用.这个插件只需要在使用这个视图时加载,我不想知道每个局部视图使用哪些插件......
谢谢你的回答.
我已经使用ASP.NET MVC大约六个月了,并且已经查看了那些微软人员创建的Nerd Dinner示例.我注意到他们在启用AJAX到RSVP晚餐时所做的一件事就是将用户控件中的JavaScript引用用于RSVP.
(文件:RSVPStatus.ascx)
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<NerdDinner.Models.Dinner>" %>
<script src="/Scripts/MicrosoftAjax.js" type="text/javascript"></script>
<script src="/Scripts/MicrosoftMvcAjax.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
这对我来说似乎不对,因为我很有可能在其他地方使用这些相同的库,例如登录验证.另外,如果我更改脚本版本,我需要搜索所有对库的引用.
所以我问我的想法是否正确,这些引用实际上应该在主页的中心位置?
请让我知道最佳做法是什么,如果有的话,还有利弊.
我有一个ASP.NET MVC 4视图,它<div>通过JQuery AJAX调用动态地将两个嵌套的部分加载到元素中.每个部分都有一大堆自己的Javascript.为了让它全部正常工作,我目前拥有success每个AJAX调用中的所有Javascript :
function LoadPartial(someImportantId) {
$.ajax({
url: '@Url.Action("LoadThePartial")' + '?id=' + someImportantId,
type: 'POST',
async: false,
success: function (result) {
$("#partialContainerDiv").html(result);
//here there be great piles of javascript
}
});
}
Run Code Online (Sandbox Code Playgroud)
由于这些部分中有两个,每个需要数百行Javascript,因此主视图文件变得难以管理.我很乐意把所有这些脚本代码放到一个单独的.js文件中,但我仍然对Javascript很新,我非常依赖Chrome的脚本调试工具,而且我很难搞清楚如何(以及如果)我可以加载此脚本文件.我试过了:


有没有办法我可以为AJAX加载的部分单独的Javascript文件,仍然能够调试客户端上的部分?更重要的是,我在哪里将所有这些Javascript用于AJAX加载的部分视图?