我试图找出在MVC应用程序中使用jQuery的最佳实践.具体来说,我想知道我应该做些什么,这样我就不会用个别document.ready语句弄乱我的所有观点.
举个例子:
我有以下观点:
/Views/Shared/_Layout.cshtml
/Views/Home/Index.cshtml
/Views/Home/_Dialog.cshtml
/Views/Home/_AnotherDialog.cshtml
我有一个控制器动作将呈现主页/索引视图,它使用布局并呈现两个部分视图(或编辑器模板,显示模板等).这一个控制器动作已呈现4个或更多视图.每个视图都使用一些jquery document.ready代码.
// In Index
我知道这不是一个很好的做法,因为在我的小项目中它已经变得无法管理了.当我有大量页面需要一些jQuery / javascript初始化代码分隔几十个视图时,要遵循哪些好的做法?
最佳答案
您可以按照Telerik对其javascript注册商所做的工作.基本上,在您的视图模型中提供此注册器.在最简单的层面上,它所要做的就是跟踪添加到它的字符串:
public class JavascriptRegistrar
{
private StringBuilder jsBuilder_ = new StringBuilder();
public Add(string js)
{
builder.Append(js).Append('\n');
}
public string ToString()
{
return "
在渲染时,您的部分视图将添加到此:
最后,在主视图的底部,当您完成时:
@Model.Registrar.ToString()
这将写出它在渲染过程中收集的所有javascript.