DataType.Time 的 EditorTemplate 将不会应用
EditorTemplate for DataType.Time won't be applied
我有一个开始和结束时间的编辑器。
所以我在路径 'Views/Shared/EditorTemplates/Time.cshtml'.
中创建了一个 EditorTemplate
@model string
@{
var htmlAttributes = this.GetControlHtmlAttributes();
htmlAttributes.AddClass("time");
htmlAttributes.AddAttribute("style", "background-color: fuchsia");
}
@Html.TextBoxFor(m => m, htmlAttributes: htmlAttributes)
在我看来,我叫
<td>
@Html.EditorFor(m => m[i].kal_von)
</td>
<td>
@Html.EditorFor(m => m[i].kal_bis)
</td>
(请注意:如果我这样调用它是行不通的:
<td>
@Html.EditorFor(m => m[i].kal_bis, "Time")
</td>
)
模型看起来像这样:
[StringLength(5)][DataType(DataType.Time)][DataMember(EmitDefaultValue = false)]
[DisplayNameAttribute("d_kal_termin.kal_von")]
public string kal_von { get; set; }
[StringLength(5)][DataType(DataType.Time)][DataMember(EmitDefaultValue = false)]
[DisplayNameAttribute("d_kal_termin.kal_bis")]
public string kal_bis { get; set; }
谢谢!!
您需要将 UIHint 添加到模型中
[StringLength(5)]
[DataType(DataType.Time)]
[DataMember(EmitDefaultValue = false)]
[UIHint("Time")]
[DisplayNameAttribute("d_kal_termin.kal_von")]
public string kal_von { get; set; }
[StringLength(5)]
[DataType(DataType.Time)]
[DataMember(EmitDefaultValue = false)]
[UIHint("Time")]
[DisplayNameAttribute("d_kal_termin.kal_bis")]
public string kal_bis { get; set; }
你的代码中有这样的东西吗?在哪里替换默认的 RazorViewEngine?
ViewEngines.Engines.Clear();
ViewEngines.Engines.Add(new AppRazorViewEngine());
如果是这样,请确保您的自定义 ViewEngine 包含您的 EditorTemplates 目录的路径。
我有一个开始和结束时间的编辑器。
所以我在路径 'Views/Shared/EditorTemplates/Time.cshtml'.
中创建了一个 EditorTemplate@model string
@{
var htmlAttributes = this.GetControlHtmlAttributes();
htmlAttributes.AddClass("time");
htmlAttributes.AddAttribute("style", "background-color: fuchsia");
}
@Html.TextBoxFor(m => m, htmlAttributes: htmlAttributes)
在我看来,我叫
<td>
@Html.EditorFor(m => m[i].kal_von)
</td>
<td>
@Html.EditorFor(m => m[i].kal_bis)
</td>
(请注意:如果我这样调用它是行不通的:
<td>
@Html.EditorFor(m => m[i].kal_bis, "Time")
</td>
)
模型看起来像这样:
[StringLength(5)][DataType(DataType.Time)][DataMember(EmitDefaultValue = false)]
[DisplayNameAttribute("d_kal_termin.kal_von")]
public string kal_von { get; set; }
[StringLength(5)][DataType(DataType.Time)][DataMember(EmitDefaultValue = false)]
[DisplayNameAttribute("d_kal_termin.kal_bis")]
public string kal_bis { get; set; }
谢谢!!
您需要将 UIHint 添加到模型中
[StringLength(5)]
[DataType(DataType.Time)]
[DataMember(EmitDefaultValue = false)]
[UIHint("Time")]
[DisplayNameAttribute("d_kal_termin.kal_von")]
public string kal_von { get; set; }
[StringLength(5)]
[DataType(DataType.Time)]
[DataMember(EmitDefaultValue = false)]
[UIHint("Time")]
[DisplayNameAttribute("d_kal_termin.kal_bis")]
public string kal_bis { get; set; }
你的代码中有这样的东西吗?在哪里替换默认的 RazorViewEngine?
ViewEngines.Engines.Clear();
ViewEngines.Engines.Add(new AppRazorViewEngine());
如果是这样,请确保您的自定义 ViewEngine 包含您的 EditorTemplates 目录的路径。