jQuery DatePicker不显示与MVC3 C#
[编辑:现在工作。刚刚将EditorFor改成了TextBox]jQuery DatePicker不显示与MVC3 C#
我刚刚在C#中用MVC3开始。我偶然发现了这个问题。
我已经遵循了一些关于向MVC3项目添加datepicker功能的教程,但datepicker没有显示在我的web项目中。以下是我有:
在我_Layout.chtml文件我已经包含所需的jQuery依赖关系文件:
<link href="@Url.Content("~/Content/themes/base/jquery.ui.core.css")"
rel="stylesheet" type="text/css" />
<link href="@Url.Content("~/Content/themes/base/jquery.ui.datepicker.css")"
rel="stylesheet" type="text/css" />
<link href="@Url.Content("~/Content/themes/base/jquery.ui.theme.css")"
rel="stylesheet" type="text/css" />
<script src="@Url.Content("~/Scripts/jquery.ui.core.min.js")"
type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.ui.datepicker.min.js")"
type="text/javascript"></script>
这是我在我的视野:
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend>Student</legend>
<div class="editor-label">
@Html.LabelFor(model => model.FullName)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.FullName)
@Html.ValidationMessageFor(model => model.FullName)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.DOB)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.DOB, new { @class = "date" })
@Html.ValidationMessageFor(model => model.DOB)
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
并且在View中的同一个文件中,我把脚本钩住了顶部的编辑器中的datepicker:
<script type="text/javascript">
$(document).ready(function() {
$('.date').datepicker();
});
,很多教材的建议使用EditorTemplate这一点,但我认为这是没有必要的。我错过了什么?感谢所有帮助的人。
我不相信你可以使用EditorFor并传入一个类。请尝试:
<div class="editor-field">
@Html.TextBoxFor(model => model.DOB, new { @class = "date" })
@Html.ValidationMessageFor(model => model.DOB)
</div>
TextBoxFor将接受HTML属性。
Doh!奇迹般有效。谢谢! – JofryHS 2012-08-01 11:58:14
下面是一个简单的工作演示,读取this
<!DOCTYPE html>
<html>
<head>
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
<script>
$(document).ready(function() {
$("#datepicker").datepicker();
});
</script>
</head>
<body style="font-size:62.5%;">
<div id="datepicker"></div>
</body>
</html>
@ Html.TextBoxFor()秒参数是对象htmlAttributes
@ Html.EditorFor()第二个参数是object additionalViewData
所以{@class =“date”}对@ Html.TextBoxFor()不具有预期的效果
将它放在底部,看看会发生什么。 – 2012-08-01 11:44:15
我没有看到对实际jQuery库的引用。你已经引用了jQuery UI核心以及datepicker,但jQuery在哪里? – Joshua 2012-08-01 11:51:58