2

这是我的观点:

@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; }
}

我希望为我的描述属性生成的 id 不会变成“描述”。我该怎么做?

4

1 回答 1

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" });
于 2013-04-22T15:07:47.213 回答