gpt4 book ai didi

asp.net-mvc - 公共(public)字段上的 DataAnnotations 与 MVC 中的属性

转载 作者:行者123 更新时间:2023-12-01 04:14:59 25 4
gpt4 key购买 nike

为什么 DataAnnotations 不能在公共(public)领域工作?例子:

namespace Models
{
public class Product
{
[Display(Name = "Name")]
public string Title; // { get; set; }
}
}

public ActionResult Test()
{
return View(new Models.Product() { Title = "why no love?" });
}

@Html.LabelFor(m => m.Title) // will return 'Title' if field, or 'Name' if property
@Html.DisplayFor(m => m.Title)

如果 Title 是一个字段,那么 Display 属性似乎没有任何作用。如果将 Title 更改为属性,它将按预期工作,如显示“Name”。

在此示例中,仅更改为属性似乎很容易,但我正在尝试使用 F# 中的类型,将它们编译为具有字段而不是属性的类。

这是在 ASP.NET 4 和 MVC RC 3 中测试的。

最佳答案

DataAnnotations 不适用于字段的原因是用于检索属性(TypeDescriptor)的类反射机制仅支持属性。

虽然这并不容易,但如果有足够的需求,我们可以考虑让这项工作与字段一起使用。

关于asp.net-mvc - 公共(public)字段上的 DataAnnotations 与 MVC 中的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4307918/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com