问题标签 [modelmetadata]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net - HiddenInput 的 Asp.Net MVC ModedMetadata 问题
我在 dll 中有一个非常简单的视图模型,我想将它与主 web mvc 项目分开。
我正在用元数据属性装饰模型,这将有助于 ui 显示正确的表示形式(DisplayName、UIHint、DataType、ReadOnly 等),我想稍后在不同的表示层中重用这些信息(如 Silverlight)
大多数属性来自命名空间 System.ComponentModel.DataAnnotations 但我惊讶地发现HiddenInput是一个例外,我需要在我的视图模型 dll 中添加对 System.Web.Mvc 的引用。
是否有特别的理由不将其包含在其他属性中?
我试图覆盖将 HiddenInput.ascx 放在 editortemplates 文件夹中的默认行为,但是当我在视图中调用 html.EditorfForModel() 时,我仍然得到该字段的标签。
asp.net-mvc - expression.Compile() 与 ModelMetadata.FromLambdaExpression
编写强类型的 Html 助手有一个常见问题。问题是如何检索属性名称/值对。假设我们有以下 Html 助手声明:
我找到了几种解决方案:1。
2.
3. 仅使用 MemberExpression 获取成员名称
从第一眼看,它们都有不同的实现(使用反射器进行调查),但我没有深入研究。
我坚持了很多解决问题的方法,想知道哪种解决方案更适合不同的情况,为什么?
我将不胜感激任何帮助
asp.net-mvc-3 - MVC2 - 如何在模板中获取父模型(容器)
我正在使用 DataAnnotations 编写一个 MVC2 应用程序。我有以下模型:
我想为 Bar 创建一个自定义显示模板。我创建了以下模板:
现在,我的问题是Bar 的内部模板我想从我的 model 访问另一个属性。我不想为 FooModel 创建单独的模板,因为我将不得不对所有其他 FooModel 属性进行硬编码。
在使用调试器进行简短调查后,我可以看到:
this.ViewData.ModelMetadata.ContainerType
是FooModel
(如预期的那样)this.ViewData.TemplateInfo
有一个非公共属性VisitedObjects
(类型为System.Collections.Generic.HashSet<object>
),其中包含两个元素:FooModel
和DateTime?
。
如何访问我的 FooModel?我不想使用反射来破解我的方式。
更新:
我已经接受了 mootinator 的回答,因为它在我看来是允许类型安全的最佳解决方案。我也赞成 Tx3 的答案,因为 mootinator 的答案建立在它之上。尽管如此,我认为在这些场景中应该有更好的 MVC 支持,我认为这在现实世界中很常见,但在示例应用程序中却没有。
asp.net-mvc - 字符串长度属性
我正在使用 Asp.Net MVC 2,并尝试遍历元数据以将输入控件添加到网格列。大多数属性(如 DisplayAttribute、StringLength 属性等)不会由默认模型元数据提供程序填充。
1-我认为这些属性将在 MVC3 中得到支持,对吧?
2- 在 MVC3 推出之前,我是否可以使用自定义提供程序,我记得看到一个自定义元数据提供程序(以为它在 MVCContrib 中)但在那里找不到,有人知道在哪里可以找到支持此属性的元数据提供程序吗?
asp.net - ASP.NET MVC 自定义 ModelMetadataProvider 和 ModelValidatorProvider
在我的 ASP.NET MVC 应用程序中,我在数据库中定义了基于元数据的模型。我有一个定义数据元数据的自定义对象,并将数据集用于 DTO。为了显示这一点,我打算编写一个自定义 ModelMetadataProvider 和 ModelValidatorProvider。
这是正确的方法吗?
关于自定义 ModelMetadataProvider 和 ModelValidatorProvider 的任何指针?
asp.net-mvc - MVC ModelMetaData 属性和格式化日期的问题
我试图弄清楚如何使用 MVC3 RC2 和用 DataAnnotations 装饰的模型来格式化日期。
这是我的模型...
这是我的控制器...
这是我的看法...
当我运行该站点时,对于两个控件,页面都会显示一个文本框,其中包含字符串中的时间,而我想要的只是日期(由模型中的装饰属性指定)。
对于这种模式,我使用了 Brad Wilson关于 ModelMetaData的文章。
我做错了什么很明显吗?
asp.net - ASP.NET MVC 3 HtmlHelper 异常无法识别继承接口上的 ModelMetadata
升级到 MVC 3 RTM 后,我遇到了以前工作的异常。
这是场景。我有几个使用相同底层接口 IActivity 和 Iowned 的对象。
我有一个部分视图,它使用 IActivity 从其他具体部分重用。
这是活动部分的定义。
但是,它会引发异常。在 ModelMetadata 中找不到 AuthorId。
我猜在以前的版本中,它查看了 IActivity 实现的接口。
有什么想法、建议,除了在各处复制类似的界面吗?
复制下面的堆栈跟踪。
asp.net-mvc-3 - ASP.NET MVC3 WebGrid 帮助器和模型元数据
我正在尝试使用 ASP.NET MVC 3 中的 WebGrid html 帮助程序根据在 ModelMetadata 中找到的信息自动生成列。例如,接受对象列表的视图中的代码将是:
这实际上就像一个魅力(我很惊讶它实际上很容易)。这里发生的情况是,从模型的属性中,我使用 ShortDisplayName 作为列的标题。
问题?我需要对所有列应用默认格式。基本上我想对我的网格将显示的所有数据使用 Html.Raw 扩展名。尝试将是这样的:
其中 GetPropertyValue 方法将使用反射或其他方式读取属性的值(我需要在这里提醒项目是动态的,它的值实际上是当前行中显示的对象)。
有没有更好的方法来做到这一点?
谢谢,
科斯塔斯
asp.net-mvc-2 - DataAnnotationsModelMetadataProvider 的源代码
出于某种原因,当我尝试反思此类时,.NET Reflector 会引发异常。它适用于其他一切。
请问源代码是DataAnnotationsModelMetadataProvider
什么?
asp.net-mvc - MVC 3 - 访问 IEnumerable 模型的 ModelMetaData?
我正在尝试访问我正在处理的自定义 HtmlHelper 的 ModelMetaData。HtmlHelper 有这样的签名......
(剃刀)视图看起来像这样......
我的问题是我无法访问模型的 ModelMetaData,因为它是 IEnumerable。我以为我可以做到以下几点:
但奇怪的是,我收到以下错误:
我虽然可以从通用列表转换为通用 IEnumerable。我错过了什么吗?