【发布时间】:2011-02-23 23:39:57
【问题描述】:
我正在构建一个 MVC Web 应用程序,大量使用 ajax 加载的包含 jQGrids 和 javascripts 的部分视图。许多部分视图只包含 2 个 div 标签,其余的是 javascripts。
使用脚本标签使一般页面结构对我来说更具逻辑性,因为 javascript 是我所看到的页面内容。
但是,jQGrid 也使用了小型实用程序函数,例如格式化函数,我开始看到同名脚本执行几乎相同任务的风险越来越大。
格式化函数示例:
function primaryRoleFormatter(cellvalue, options, rowObject) {
switch (cellvalue) {
case "1":
return "<%= Resource.PRIMARY %>";
default:
break;
}
return "";
};
起初我认为格式化函数属于最近的网格,特别是因为可能有其他网格具有相同名称但代码中有一些小的差异的格式化函数。
我同时加载两个或多个网格,如果有名称冲突,似乎 javascript 足够聪明,可以使用当前脚本块中定义的脚本,所以除了唠叨之外没有问题,“这是最好的方法?”。
还有 用于从网格操作中加载和显示 jQuery 对话框的脚本。我认为这些脚本会随着时间的推移而增加。
我应该将脚本保留在使用它们的地方,还是应该尝试构建某种脚本库?
如果我应该将它们移到脚本文件中,那么划分函数(名称、类、文件...)的聪明方法是什么? 如果我将它们移出,它们是否会被认为更不显眼,因为这种类型的页面已经由 ajax 本身加载并包含 95% 的 javascripts?
我知道有类似的问题,但我没有找到任何合适的答案。如果这有问题,我会删除它。
【问题讨论】:
标签: javascript jquery asp.net-mvc jqgrid unobtrusive-javascript