Html.EditorForModel和显示格式

时间:2010-02-22 17:46:07

标签: asp.net-mvc-2 editorformodel

我正在使用MVC 2和Html.EditorForModel()来允许我显示模型的编辑器。

我使用的模型看起来像这样:

public class LoanACar
{
    [DisplayNameFromResource("VehicleDetails")]
    public string VehicleDetails { get; set; }
    [DisplayNameFromResource("VehicleId")]
    [Required]
    public long VehicleId { get; set; }
    [DisplayNameFromResource("LoanCentreId")]
    [Required]
    public long LoanCentreId { get; set; }
    [DisplayNameFromResource("StartDate")]
    [Required]
    public DateTime StartDate { get; set; }
    [DisplayNameFromResource("EndDate")]
    [Required]
    public DateTime EndDate { get; set; }
}

哪个效果很好。

我想现在更进一步,让我的VehicleDetails成为一个标签,而不是一个文本框,还有一个隐藏的VehicleId。

1 个答案:

答案 0 :(得分:4)

您的目的有一个特殊属性System.Web.Mvc.HiddenInputAttribute

public class LoanACar
{
    [DisplayNameFromResource("VehicleDetails")]
    [HiddenInput(DisplayValue = true)]
    public string VehicleDetails { get; set; }

    [DisplayNameFromResource("VehicleId")]
    [Required]
    [HiddenInput(DisplayValue = false)]
    public long VehicleId { get; set; }

    [DisplayNameFromResource("LoanCentreId")]
    [Required]
    public long LoanCentreId { get; set; }

    [DisplayNameFromResource("StartDate")]
    [Required]
    public DateTime StartDate { get; set; }

    [DisplayNameFromResource("EndDate")]
    [Required]
    public DateTime EndDate { get; set; }
}

考虑DisplayValue属性的HiddenInput参数值的差异。