2013-04-22 70 views
2

这是我的看法:覆盖自动生成的ID在MVC4

@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不就成了“说明” 。 我该怎么做?

回答

1

您可以使用UIHint属性和自定义编辑器模板结合使用。

修改模型添加UIHint属性:

[UIHint("Description")] 
public virtual string Description { get; set; } 

在您的特定视图的文件夹中,创建一个名为的新文件夹。添加一个名为Description.cshtml新文件,并添加以下内容:(假设你使用剃刀)

<div> 
    @Html.TextBox("", Model, new { id = "_myCustomDescriptionId" }) 
</div> 


这里的另一个想法考虑。可能更直接地单独布置您的字段和编辑器,而不是使用 Html.EditorForModel。在这种情况下,您可以直接指定html属性,如下所示:

@Html.TextBoxFor(m => m.Description, new { id = "_myCustomDescriptionId" });