【发布时间】:2015-06-24 21:16:44
【问题描述】:
我有一个网站,我在 ASP.NET 中创建一个具有 MVC 结构的网站,总体上喜欢通过 Web 表单从数据库创建和显示数据的效率。但是,我遇到的问题是 Razor 和 EditorFor 助手。我知道他们最近添加了发送 HTML 属性的功能,我已将其与 Bootstrap 的日期选择器一起使用,以获得更友好的输入系统。但是,我找不到使用现有记录的 model.Sale.Date 将 EditorFor 填充到字段中的方法(就像我使用 DropDownListFor 助手所做的那样)。
@Html.LabelFor(model => model.Sale.Date, new { @class = "control-label" })
@Html.EditorFor(model => model.Sale.Date, new { @class = "form-control datepicker", placeholder = "Pick a date" })
@Html.ValidationMessageFor(model => model.Sale.Date, "", new { @class = "text-danger" })
@Html.LabelFor(model => model.Employee.FullName, htmlAttributes: new { @class = "control-label" })
@Html.DropDownListFor(model => model.Employee.Id, new SelectList(Model.Employees.Employees, "Id", "FullName", Model.Sale.EmployeeId))
@Html.ValidationMessageFor(model => model.Employee.Id, "", new { @class = "text-danger" })
@Html.LabelFor(model => model.Service.Description, htmlAttributes: new { @class = "control-label" })
@Html.DropDownListFor(model => model.Service.Id, new SelectList(Model.Services.Services, "Id", "Description", Model.Sale.ServiceId), null, null)
@Html.ValidationMessageFor(model => model.Service.Id, "", new { @class = "text-danger" })
有没有人知道如何以最简单的方式完成此任务?
【问题讨论】:
-
日期自动填充 Safari 中的编辑器,因为引导日期选择器未正确加载。但是,在 Chrome 中,引导日期选择器正在加载并且不会显示自动填充的日期..
-
有什么理由你必须使用
@Html.EditorFor而不仅仅是使用@Html.Textboxfor...还要记住日期的数据属性应该是[DataType(DataType.Date)](如果它还没有) -
我已经在 ViewModel 中将其设置为 [DateType(DataType.Date)]。我只使用了 EditorFor,因为日期选择器的引导 css 类可以与 EditorFor 一起正常工作。有没有一种简单的方法来使用 TextBoxFor 进行填充?
-
我的印象是,通过设置属性会自动将
Textboxfor输入设置为类型date,我想我错了。我通常使用textboxfor,然后使用引导日期选择器添加类.date。
标签: c# html asp.net asp.net-mvc razor