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