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" });