使用MVC 4.0/Razor作为视图引擎。
场景:将日历绑定到文本框,单击txtBox应该会让日历流下来,使用jqueryUI的日期选择器并将其提交到sql数据库。
我做了什么:
模型类:
public class UserModels
{
[Required(ErrorMessage = "Mandatory Field")]
public virtual string Name { get; set; }
public virtual int Id { get; set; }
[DataType(DataType.Date), DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public virtual DateTime Dob { get; set; }
[Display(Name = "CountrY")]
public virtual string Country { get; set; }
public virtual string Gender { get; set; }
}
Razor视图:
@model EMSapp.Models.UserModels
@{
ViewBag.Title = "AddUser";
}
<h2>AddUser</h2>
<script src="../../Scripts/jquery-1.7.1.js" type="text/javascript"></script>
<script src="../../Scripts/jquery.ui.core.js" type="text/javascript"></script>
<script src="../../Scripts/jquery.ui.datepicker.min.js" type="text/javascript"></script>
<script src="../../Scripts/jquery-ui-1.10.2.custom.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#date").datepicker();
});
</script>
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend>UserModels</legend>
<div class="editor-label">
@Html.LabelFor(model => model.Dob)
</div>
<div class="editor-field">
@**Html.TextBoxFor(model => model.Dob, new { id = "date" })**
</div>
错误:当视图正在加载时,抛出"对象不支持此属性或方法"
Html.TextBoxFor(model => model.Dob, new { id = "date" })
应该将文本框的name
和id
属性设置为"Dob"。
试着调用Html.TextBoxFor(model => model.Dob)
,用$('#Dob').datepicker();
代替