MVC 中公共字段与属性的数据注释

2023-12-07

为什么 DataAnnotations 不适用于公共字段?例子:

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 属性似乎不起作用。如果标题更改为属性,它将按预期显示“名称”。

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

这已在 ASP.NET 4 和 MVC RC 3 中进行了测试。


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

虽然这并不容易,但如果有足够的需求,我们可以考虑将其应用于现场。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MVC 中公共字段与属性的数据注释 的相关文章

  • 使用默认的 ASP.Net MVC 设置,如何使用 Microsoft 帐户登录?

    为什么我不断收到 输入参数 redirect uri 提供的值无效 我的网站托管在 Azure 中 我正在尝试通过 Microsoft 登录按钮登录 我并没有对默认的 ASP Net MVC 开箱即用模板进行太多更改 我真正改变的只是取消注
  • 如何在 MVC4 的 UserProfile 中创建自定义附加字段

    我遇到了新的 ASP MVC 4 功能 它附带了新的成员资格数据库模式和新的初始化 在 mvc 3 和旧版本中 开发人员能够使用 web config 中的规范创建自定义用户配置文件字段 但现在我面临默认 mvc 4 项目中过滤器命名空间中
  • 安装 ASP.NET MVC 的修改版本

    我对 MVC 1 0 源代码进行了相对简单的更改 以纠正 DropDownList HtmlHelper 中的错误 在另一个问题中讨论过 https stackoverflow com questions 1614923 persistin
  • 如何有效地测试action是否用属性(AuthorizeAttribute)修饰?

    我正在使用 MVC 并且有一种情况OnActionExecuting 我需要确定即将执行的Action方法是否用属性修饰 AuthorizeAttribute尤其 我不是问授权是否成功 失败 而是问该方法是否需要授权 对于非 MVC 人员
  • 无效操作。连接已关闭。 ASP.NET MVC

    这种情况并不经常发生 但有时我会收到一封通过电子邮件发送给我的异常报告 指出这段代码 我想知道您是否发现以下代码有任何问题 我无法让它在本地失败 并且使用断点跟踪数据总是会一步步给出正确的结果 namespace DomainModel C
  • ASP.NET Core/MVC 6 ViewModel 中的依赖注入 (DI)

    我使用构造函数注入在控制器中成功使用了 ASP NET 5 MVC 6 DI 我现在有一个场景 我希望我的视图模型在实现 IValidatableObject 时在 Validate 方法中使用服务 ViewModel 中的构造函数注入不起
  • asp.net mvc 3,主题(不同视图)

    我想向我的网站添加将使用完全不同视图的主题 我想在我的项目中看到它们 如下所示 Views Theme1 Views Theme2 而不是默认的 Views 当然 我需要一种简单的方法来在它们之间进行切换 所以问题是 如何让 ViewEng
  • JQuery - 使用 JSON 的属性创建输入

    我正在尝试使用 JSON 设置的 id 和 value 属性创建一个输入 我有一个获取 JSON 的 ajax 调用 返回的数据很好 对于 JSON 中的每个对象 我想创建一个带有 ID 和 JSON 值的按钮 阿贾克斯调用 ajax ty
  • .net 4.7 中的依赖注入?

    我对 DI 有哪些集成选项有点困惑 我发现它对于 net core 对于我的特定项目 来说非常简单 但我不需要构建跨平台应用程序 也看不到使用 core 的优势 但是 net 框架应用程序似乎仍然使用 Global asax 设置且没有 S
  • Owin 声明 - 添加多个 ClaimTypes.Role

    我有一个应用程序 可以在其中为用户分配以下角色 超级管理员 Admin User 一个用户可能分配了两个或多个角色 例如 超级管理员和用户 我的应用程序使用声明 因此我也想通过声明来验证用户角色 喜欢 Authorize Roles Adm
  • 如何使自定义错误页面在 ASP.NET MVC 4 中工作

    我想要显示 500 404 和 403 的自定义错误页面 这是我所做的 在 web config 中启用自定义错误 如下所示
  • 为什么自定义类型变量不保存值MVC

    我正在尝试使用 MVC 5 构建一个网站 我有一个包含 3 个变量的控制器类 public class WorkerController Controller public ViewModel viewModel new ViewModel
  • 如何根据 ASP.NET VNEXT MVC6 中给出的路径进行虚拟路由/重定向?

    我有一个网站 它在不同的路径上公开多个 API 每个 API 由特定于应用程序部分的控制器处理 例如example com Api Controller Action param1 stuff 其中控制器发生变化 但操作保持相当一致 我有几
  • 如何将 Orchard CMS 与当前的 MVC2 应用程序集成?

    对于我的项目 客户端有一个现有的 ASP NET MVC 2 Web 应用程序 该应用程序具有产品目录和购物车功能 客户正在重新设计他们的网站 并希望使用 Orchard 来维护他们的内容页面 例如主页 关于 服务等 他们希望尽可能多地使用
  • ASP.NET MVC 子操作的路由匹配

    子动作的路由匹配方法与普通动作有什么不同吗 换句话说 子操作是否有一些自动生成的 url 来进行与父操作类似的匹配 父级或子级动作处理没有区别 任何操作都遵循您在中设置的相同路线定义Application Start 这意味着父母的行为以及
  • asp.net mvc:将 RedirectToAction(string, object) 转换为 RedirectToAction(x => x.Detail(id))

    任何人都知道如何创建一个方法 我将把它放在扩展类中 该方法将仅使用表达式 无魔术字符串 与 mvc 的 RedirectToAction 执行相同的操作 所以不要写这样的东西 RedirectToAction Detail new Rout
  • Visual Studio 智能感知搞砸了

    所以我是 MVC4 和 C 的新手 我已经设计这个网站大约两周了 智能感知没有任何问题 两天来 Visual studio 告诉我 Viewbag 和其他 命令不是我的项目的一部分 我可能错过了一些东西 或者它告诉我 Viewbag 在当前
  • Asp.net MVC 路由 - 防止通过约束路由到 XML 文件

    我正在尝试找到一种方法来阻止用户访问特定的 xml 文件 我尝试过做 routes MapRoute SiteMap SiteMap siteMap xml new new isLocal new LocalHostRouteConstra
  • ASP.NET MVC:这个业务逻辑应该放在哪里?

    我正在开发我的第一个真正的 MVC 应用程序 并尝试遵循一般的 OOP 最佳实践 我正在将控制器中的一些简单业务逻辑重构到我的域模型中 我最近一直在阅读一些内容 很明显我应该将逻辑放在域模型实体类中的某个位置 以避免出现 贫血域模型 反模式
  • 表单身份验证 MVC4

    我正在尝试使用 MVC4 网站进行简单的表单身份验证设置 在App start FilterConfig cs中 public static void RegisterGlobalFilters GlobalFilterCollection

随机推荐

  • Struts 2 jquery 自动完成器与forceValidOption =“假”

    我已经设置了 Struts 2 jquery 自动完成标签forceValidOption假为
  • 如何在spring中重写JndiObjectFactoryBean并在java中设置解密密码

    我在 tomcat 中有一个数据源 它的密码是使用某种算法加密的 我想在与数据库建立连接时解密相同的密码 以下是我的 spring 配置代码
  • 如何使用VBS脚本自动登录

    我对此很陌生 我目前正在办公室从事一个项目 并且我已经有了有关如何在一个窗口中打开多选项卡 IE 的脚本 这是我使用的脚本 Const navOpenInBackgroundTab H1000 site1 http site1 com si
  • 想要在 IE8 上的新选项卡中打开[重复]

    这个问题在这里已经有答案了 可能的重复 在新标签页中打开网址 当我在做的时候window open 我的页面在新窗口中打开 但我希望它在浏览器的新选项卡中打开 怎样才能做到这一点呢 我 99 确定你不能 Redmond 浏览器可能总是有一个
  • android ProgressBar在下载过程中更新

    在我的文件下载应用程序中 有一个 ListView 每一行都包含属性文件和一个用于下载其状态的进度栏 我使用视图持有者模式 但进度栏不更新 Override protected void onProgressUpdate Long valu
  • Selenium 驱动的 ChromeDriver 找不到 Chrome 二进制文件

    我刚刚卸载了 Chrome 因为它表现得很奇怪 现已修复 之后 Python 中的 Selenium 无法识别 Chrome 驱动程序二进制文件 这非常奇怪 因为它应该完全不受影响 并且位于不同的位置和不同的版本从我在桌面上使用的 Chro
  • 如何从 OData Atom feed 反序列化对象?

    我正在尝试解析来自 OData REST 服务的响应 当响应是JSON格式时 很容易使用ReadAsJsonDataContractWCF REST 入门工具包中的方法 然而 如果响应是 Atom feed 事情似乎会更加复杂 这是一个例子
  • 根据余弦相似度值进行聚类

    我从一组 URL 中提取了单词 并计算了每个 URL 内容之间的余弦相似度 而且我还标准化了 0 1 之间的值 使用最小 最大 现在我需要根据余弦相似度值对 URL 进行聚类以查找找出类似的 URL 哪种聚类算法最合适 请建议我一种动态聚类
  • 应用程序安装失败:未知错误 Xcode 7

    我的应用程序在模拟器中运行良好 但当我尝试将其安装在 iPhone 上时 它说 应用程序安装失败 发生未知错误 我打开设备日志并得到以下信息 11 月 12 日 21 17 19 Isaacs iPhone Streaming zip co
  • 简化为派系问题

    子图同构 我们有图 G 1 V 1 E 1 G 2 V 2 E 2 Question 图 G 1 与 G 2 的子图同构吗 即 是否存在 G 2 V V 2 的顶点子集和 G 2 E E 2 边的子集 使得 V V 1 和 E E 1 并且
  • 是否保证新实体的数字自增ID始终大于现有ID?

    是否保证新实体的自动递增ID始终大于现有ID 基本上 我想定期将后台任务中的实体 例如评论 转储到客户创建的大块中 因此 如果现在有 100 个实体 我会将它们存储在 blob 中 并为该 blob 创建辅助实体 例如 class Blob
  • Google Apps 脚本:使用电子表格范围作为参数从菜单调用函数[重复]

    这个问题在这里已经有答案了 我有一个函数 它接受电子表格范围作为参数 然后在给定范围的同一行中添加日期 function autoDate cell var currentDate new Date var currentMonth cur
  • Entity Framework Core 多对多导航问题

    Entity Framework Core 尚未实现多对多关系 如 GitHub 问题中所述 1368 但是 当我按照该问题中的导航示例或类似的答案在 Stack Overflow 上 我的枚举未能产生结果 我的照片和标签之间存在多对多关系
  • 无法比较 SqlBulkCopy 中的列

    这是我的代码 protected void Button1 Click object sender EventArgs e string strFileType System IO Path GetExtension FileUpload1
  • “对齐陷阱”错误意味着什么?

    我的一位朋友在尝试调试开始显示 对齐陷阱 错误的代码时遇到了一个大问题 当特定函数访问全局结构时 就会出现问题 经过在网络上的一些研究 仍然不清楚 对齐陷阱 是什么意思或是什么 有人可以给出一个解释 特别注意通常导致对齐陷阱的原因以及解决问
  • ActionEvent e 是什么意思?

    我正在学习 Java 非常想更深入地了解 ActionEvent e 参数的含义和代表的含义 当我编码时 我不只是想吐出有效的代码 但我不明白 我想在使用概念之前充分理解它们 那么它具体要求什么以及两个部分 ActionEvent 和 e
  • 使用 tidytext 和 broom 但没有找到 LDA_VEM 的 tidier

    tidytext 书中提供了主题模型 tidier 的示例 library tidyverse library tidytext library topicmodels library broom year word counts lt t
  • 扩展 Mach-O 文件中的部分

    我正在尝试从 Dyld shared cache 中提取库 并且需要修复外部引用 例如 中的指针 DATA objc selrefs部分通常指向 mach o 文件外部的数据 为了解决这个问题 我必须从 dyld 复制相应的 c 字符串并将
  • “分段错误(核心转储)”:libioP.h、printf-parse.h、vfprintf-internal.c 等的“没有此类文件或目录”

    核心转储文件中的示例错误 1289 vfprintf internal c No such file or directory 111 printf parse h No such file or directory 948 libioP
  • MVC 中公共字段与属性的数据注释

    为什么 DataAnnotations 不适用于公共字段 例子 namespace Models public class Product Display Name Name public string Title get set publ