这是我的观点:
@using (Html.BeginForm())
{
@Html.ValidationSummary()
@Html.EditorForModel()
<input type="submit" value="@Resources.Main.Save" />
}
这是我的视图模型
public class ContentPagePresViewModel
{
[HiddenInput(DisplayValue = false)]
public Guid Id { get; set; }
/// <summary>
/// Contenu de la page
/// </summary>
[Display(Name = "¨Presentation")]
[DataType(DataType.Html)]
[AllowHtml]
/*[Required(ErrorMessage = "ContentPage_PageContent_Required")]*/
public virtual string Description { get; set; }
}
我希望为我的Description propety生成的id不会变为“Description”。 我是怎么做到的?
答案 0 :(得分:1)
您可以使用UIHint
属性与自定义编辑器模板结合使用。
修改模型以添加UIHint
属性:
[UIHint("Description")]
public virtual string Description { get; set; }
在特定视图的文件夹中,创建一个名为EditorTemplates
的新文件夹。添加一个名为Description.cshtml的新文件,并添加以下内容:(假设您使用的是Razor)
<div>
@Html.TextBox("", Model, new { id = "_myCustomDescriptionId" })
</div>
<小时/> 这是另一个想法要考虑的问题。单独布置字段和编辑器可能更直接,而不是使用
Html.EditorForModel
。在这种情况下,您可以直接指定html属性:
@Html.TextBoxFor(m => m.Description, new { id = "_myCustomDescriptionId" });