我是 mvc3 的新手,视图引擎是剃刀,如何在我的视图中获取日期选择器。我应该在哪里编写日期选择器函数来影响它的所有视图。在我的每一个观点中怎么能称之为它。
问问题
8218 次
2 回答
3
您可以向所有需要显示为 datepicker 的输入字段添加一些通用类:
@Html.TextBoxFor(x => x.SomeDate, new { @class = "date" })
然后在一个单独的 javascript 文件中:
$(function() {
$('.date').datepicker();
});
那么你所要做的就是在你的布局中包含这个 .js 文件,以便它为每个页面和每个拥有日期类的输入字段执行。
于 2012-04-05T06:25:30.843 回答
2
- 在 _Layout.cshtml 添加以下行
//CSS
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.17/themes/redmond/jquery-ui.css" rel="Stylesheet" type="text/css" />
//脚本
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.min.js"></script>
导航到 Shared 文件夹,然后创建一个名为 EditorTemplates 的文件夹
在 EditorTemplates 文件夹中创建一个名为 DateTime 的局部视图
将以下代码添加到 DateTime 部分视图
@model System.DateTime ?@Html.TextBox("", (Model.HasValue ? Model.Value.ToShortDateString() : string.Empty), new { @class = "pickDate" })
<script type="text/javascript"> $(document).ready(function () { $('.pickDate').datepicker({ changeMonth: true, changeYear: true }); }); </script>
现在您已设置好所有内容,并且在您拥有 DateTime 类型字段的每个视图上,当您在该字段内单击或在单击图标等时修改它的属性时,您将看到一个 jqueryUI 日期选择器。
例如,您的视图就像从模型中创建的一样,您无需添加任何内容。
<div class="editor-label">
@Html.LabelFor(model => model.DateOfBirth)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.DateOfBirth)
@Html.ValidationMessageFor(model => model.DateOfBirth)
</div>
更新
您可能有某种脚本冲突。尝试添加
@if(false)
{
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
}
在你的视野之上。
于 2012-04-05T06:33:59.073 回答