我正在使用Bootstrap 3 Datepicker(http://eonasdan.github.io/bootstrap-datetimepicker/)为模型属性提供DateTime Picker:
模型:
[Table("Calls")]
public partial class Call
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
[Required(ErrorMessage = "Campo obrigatório")]
[Display(Name = "Data e Hora de início")]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd-MM-yyyy HH:mm}")]
public DateTime DateOfTheCall { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
视图:
<div class="form-group">
@Html.LabelFor(model => model.DateOfTheCall, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.DateOfTheCall, new { htmlAttributes = new { @class = "form-control date" } })
@Html.ValidationMessageFor(model …Run Code Online (Sandbox Code Playgroud) 我有一个ASP.NET MVC 4站点,我将一个嵌套属性传递给EditorTemplate并使用构建字段名称,ViewData.ModelMetadata.PropertyName但是,它获取子属性的属性名称,而不是属性的完整点符号名称我是编辑.
一个例子将说明最佳:
鉴于以下类型
public class EditEntityViewModel
{
// elided
public Entity Entity { get; set}
}
public class Entity
{
// elided
public string ImageUrl { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我的编辑和创建视图如下:
@model EditEntityViewModel
<div>
@Html.EditorFor(model => model.Entity.ImageUrl , "_ImageUploader")
</div>
Run Code Online (Sandbox Code Playgroud)
_ImageUploader.cshtml编辑器模板如下
@model System.String
<div class="uploader">
@Html.LabelFor(model => model)
@Html.HiddenFor(model => model)
<div data-rel="@(ViewData.ModelMetadata.PropertyName)">
<input type="file" name="@(ViewData.ModelMetadata.PropertyName)Upload" />
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
渲染的HTML看起来像这样
<div>
<div class="uploader">
<label for="Entity_ImageUrl">Image</label>
<input id="Entity_ImageUrl" name="Entity.ImageUrl" type="hidden"/>
<div data-rel="ImageUrl"> <!-- Problem -->
<input type="file" …Run Code Online (Sandbox Code Playgroud)