Razor 在MVC4中覆盖自动生成的id
我的看法是:Razor 在MVC4中覆盖自动生成的id,razor,asp.net-mvc-4,Razor,Asp.net Mvc 4,我的看法是: @using (Html.BeginForm()) { @Html.ValidationSummary() @Html.EditorForModel() <input type="submit" value="@Resources.Main.Save" /> } @使用(Html.BeginForm()) { @Html.ValidationSummary() @Html.EditorForModel
@using (Html.BeginForm())
{
@Html.ValidationSummary()
@Html.EditorForModel()
<input type="submit" value="@Resources.Main.Save" />
}
@使用(Html.BeginForm())
{
@Html.ValidationSummary()
@Html.EditorForModel()
}
这是我的视图模型
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; }
}
公共类ContentPagePresViewModel
{
[HiddenInput(DisplayValue=false)]
公共Guid Id{get;set;}
///
///佩奇伯爵酒店
///
[显示(名称=“¨演示文稿”)]
[数据类型(DataType.Html)]
[allowtml]
/*[必需(ErrorMessage=“ContentPage\u PageContent\u必需”)]*/
公共虚拟字符串描述{get;set;}
}
我希望为我的描述属性生成的id不会变成“描述”。
如何做到这一点?您可以使用
UIHint
属性和自定义编辑器模板来实现这一点
- 来自MSDN,关于UIHint:
- 本文详细介绍了该过程:
UIHint
属性:
[UIHint("Description")]
public virtual string Description { get; set; }
在特定视图的文件夹中,创建一个名为EditorTemplates
的新文件夹。添加一个名为Description.cshtml的新文件,并添加以下内容:(假设您使用的是Razor)
<div>
@Html.TextBox("", Model, new { id = "_myCustomDescriptionId" })
</div>
@Html.TextBoxFor(m => m.Description, new { id = "_myCustomDescriptionId" });