【发布时间】:2011-02-14 23:18:15
【问题描述】:
我已经构建了一个自定义的 Html Helper 扩展,如下所示:
public static string DatePicker(this HtmlHelper helper, string name, string value)
{
return string.Format(@"<script type='text/javascript'>
$(document).ready(function(){{
$('#{0}').datepicker({{
changeMonth: true,
changeYear:true,
dateFormat: 'd-M-yy',
firstDay: 1, showButtonPanel:
true,
showWeek: true
}});
}});
</script>
<input type='text' name='{0}' id='{0}' value='{1}'>", name, value);
}
问题是现在这需要页面“包含”以下内容:
<script src="/Scripts/jquery-1.4.2.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery.ui.datepicker.min.js" type="text/javascript"></script>
还有其他一些项目。问题如下:
是否有严重处理 如果我要包括这些开销 每个页面中的项目(如 Site.Master 例如)因此 否定对 HtmlHelper 的需要 组织“包括” - 考虑到最终会有 大约 20 包括所有 不同类型的 jQuery UI 小部件 在整个网站中使用。
如果 HtmlHelper 整理出 “包括”,它会每增加一个 使用此 DatePicker 的时间(通常 一页上有两个)有人吗 有办法确定是否 不是用户已经呈现 同类型的控制 页面,因此不会重新包含相同的 多个时的jquery库 DatePicker 的实例(对于 例如)被使用?
【问题讨论】:
-
您也可以在 MVC 2 中使用显示和编辑器模板完成相同的事情,而无需在视图中进行特殊编码。查看this 帖子了解更多详情。
标签: c# jquery asp.net-mvc html-helper include