【发布时间】:2015-04-29 13:36:46
【问题描述】:
我希望能够在 C# 中为我的模型中的对象创建一个数据属性。显示时。我希望 html 在 html 本身的数据属性中呈现值。
在我的脑海中,代码看起来与此类似。
public class AffectsAttribute:Attribute
{
public string[] Departments { get; set; }
}
[EmailAddress]
[Required(ErrorMessage = "Email is required")]
[Affects(Departments = new string[]{"Coaches"})]
public string Email {get; set;}
然后在 html 中,在被 razor 调用后,它看起来像这样
@Html.EditorFor(model => model.Email)
<input class="text-box single-line" data-affects="Coaches" data-val="true" data-val-email="The Email field is not a valid e-mail address." data-val-required="Email is required" id="Email" name="Email" type="email" value="">
我不知道如何指定我希望在页面上呈现项目时添加附加数据属性。有人可以帮忙吗?
【问题讨论】:
-
uuu 这看起来很丑,你为什么要那样做?
-
@Legends 我会这样做,以便在业务层工作的开发人员可以指出区域之间的依赖关系,然后我们可以在用户更新时警告用户。
-
为什么不使用AdditionalMetadata?
-
因为业务层,因此模型不在 MVC 项目中。我们已将两者完全分开。
标签: c# html asp.net-mvc model-view-controller data-annotations