1

我正在使用 ASP.NET MVC4。

我希望根据从数据库中检索到的其他一些值来更改属性的显示名称,以便当我在视图中调用 @Html.LabelFor() 时,会显示正确的字段文本。

我正在使用的示例使用地址视图模型,地址的每一行具有不同的属性。如果地址是美国,则其中一个字段应为“州”。如果是英国地址,则应显示“县”。同样适用于“邮政编码”和“邮政编码”。

显然,我不希望每个国家/地区的每个不同字段都有不同的属性。

我还根据国家/地区为邮政编码应用不同的正则表达式验证规则。我怎么也能做到这一点?

这是我现在的课:

public class AddressViewModel
{
    public Guid Id { get; set; }

    [Display(Name = "Address_Country", ResourceType = typeof(Resources.Shared))]
    [Required]
    public Guid CountryId { get; set; }

    [Display(Name = "Address_AddressLine1", ResourceType = typeof(Resources.Shared))]
    public string AddressLine1 { get; set; }

    [Display(Name = "Address_AddressLine2", ResourceType = typeof(Resources.Shared))]
    public string AddressLine2 { get; set; }

    [Display(Name = "Address_AddressLine3", ResourceType = typeof(Resources.Shared))]
    public string AddressLine3 { get; set; }

    [Display(Name = "Address_AddressLine4", ResourceType = typeof(Resources.Shared))]
    public string AddressLine4 { get; set; }

    [Display(Name = "Address_AddressLine5", ResourceType = typeof(Resources.Shared))]
    public string AddressLine5 { get; set; }

    [Display(Name = "Address_PostalCode", ResourceType = typeof(Resources.Shared))]
    public string PostalCode { get; set; } 
}

任何帮助都会受到极大的欢迎。

谢谢。

4

0 回答 0