问题标签 [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-mvc - LinFu 代理对象的查找目标
这几乎是一个重复的问题,但我没有使用 Castle Dynamic Proxy,而是使用 LinFu获取代理对象的底层类型
我正在使用 automapper 创建要发送到 Asp.net MVC 中的视图模型的接口代理。我的问题是我可以告诉 MVC 的默认 MetadataProvider 通过调用模型上的 .GetType() 来查找属性和元数据。
因此,EditorFor() 和 DisplayFor() 模板不会生成任何字段。我需要做的是找到代理目标类型,然后生成我的模板。我知道我可以解析名称并使用 GetType("thename") 但想知道是否有简单的方法。
asp.net-mvc - ASP.NET MVC 2 中的元数据类型和客户端验证
继承的属性和 MetadataType 似乎不适用于 ASP.NET MVC 2 中的客户端验证。
我们的 MetadataTypes 验证在服务器上按预期工作,但由于某种原因,它没有为它生成适当的客户端脚本。对于在 PersonView 上设置了 DataAnnotations 属性的属性,客户端验证按预期启动,因此我知道客户端验证处于活动状态并且可以正常工作。有谁知道它是否或如何修复?
这是我们所拥有的:
如您所见,那里并没有什么花哨或奇怪的东西……可以修复吗?它是 ASP.NET MVC 2 中的错误吗?
asp.net-mvc - ASP.NET MVC / Linq-to-SQL 类:我可以让它推断出可读的显示名称吗?
如果我有一个Orders
包含字段和的表CustomerID
,那么将调用“Linq-to-SQL 类”生成的类,其中的成员称为和。到现在为止还挺好。OrderID
OrderDate
Orders
CustomerID
OrderID
OrderDate
但是,如果我这样做,Html.LabelFor(m => m.OrderDate)
那么生成的文本将是“OrderDate”而不是“Order Date”。
我尝试使用Order_Date
作为字段名称,但这不起作用。有没有办法让它推断出更好的显示名称?
[我知道我可以使用数据注释来明确指定显示名称,但我真的不想为我的所有类/成员这样做——我只是希望它按惯例工作。]
asp.net-mvc-2 - 如何在 ModelMetaData 上填充 Watermark 属性?
我刚刚读完http://bradwilson.typepad.com/blog/2009/10/aspnet-mvc-2-templates-part-2-modelmetadata.html在文章 Brad 列出了该Watermark
属性但没有提及DataAnnotation 用于填充它。
asp.net-mvc-2 - Limit JavaScript and CSS files on ASP.NET MVC 2 Master Page based on Model and View content
I want to include certain .js and .css files only on pages that need them.
For example, my EditorTemplate DateTime.ascx
needs files anytimec.js
and anytimec.css
.
That template is applied whenever I use either the EditorFor or EditorForModel helper methods in a view for a model with a DateTime type value.
My technique:
I've put this condition into the <head>
section of my master page. It checks for a DateTime type property in the ModelMetadata.
This has two problems:
Fails if I have nested child models of type DateTime
Unnecessarily triggered by views without EditorFor or EditorForModel methods (example: DisplayForModel)
How can I improve this technique?
asp.net-mvc - ASP.NET MVC 自定义 MetadataProvider
我正在构建一个自定义 MetadataProvider 并且我想访问该CreateMetadata
方法中的实际模型值。
当前模型值为字符串类型时,模型值可以在metadata.Model
. 但是当模型是引用类型时,该值为空。
或者也许有什么方法可以将自定义数据传递给这个方法?
asp.net-mvc - ModelMetadata:ShowForEdit 属性似乎不起作用
Iv 编写了如下所示的 MetaDataProvider,并将其与编辑器模板结合使用。DisplayName 工作正常,但由于某种原因 ShowForEdit 值没有任何效果。有任何想法吗?
asp.net-mvc-2 - metadata.HideSurroundingHtml 不起作用的解决方案
我编写了一个自定义的 DataAnnotationsModelMetadataProvider 动态设置 HideSurroundingHtml。
但这似乎没有被编辑器模板接受。所以 Iv 为标签创建了一个新的 HTML 扩展方法,试图强制 HideSurroundingHtml 工作。
但这不起作用,此外,当我将断点附加到这些时,它似乎在 CreateMetadata 方法之前命中了扩展方法 - 这解释了为什么这不起作用,但按此顺序调用它的事实没有意义。
任何人都可以解释这一点吗?或者如何实现我想要实现的目标?
asp.net-mvc - ASP.NET MVC2:你能从集合中获取 ModelMetadata.ContainerType 吗?
我正在尝试调用 DisplayFor 和 DisplayForModel 从视图中迭代具有各种元素类型的 IEnumerable<>。我为每个元素/模型类型定义了模板。
我想做的是从模板中检查 ViewData.ModelMetadata.ContainerType ,以便模板可以确定它是否作为集合的一部分被调用。
一个简单的例子:
Index1.aspx:用于渲染 Foos 的集合。
Index2.aspx:从 Bar 渲染一个 Foo。
Shared\DisplayTemplates\Foo.ascx:Foo 的上下文感知模板。
此示例的问题是通过 Index1.aspx 解析时,模板中的 ViewData.ModelMetaData.ContainerType 为空。从我在Brad Wilson 的帖子和其他人的文章中读到的内容,它与 IEnumerable 的使用及其作为接口有关。
有没有办法确保 ContainerType 已设置?也许通过创建 ModelMetadataProvider?我简短地调查了一下,但似乎 ContainerType 值是在之前确定的,然后传递给了提供者。
任何建议,将不胜感激。
asp.net-mvc - 除了将 MetadataTypeAttribute 直接放在类上之外,有没有办法向 ASP.NET MVC 指示一些类元数据?
这是它现在如何工作的示例:
但是,我不希望将 MetadataAttribute 放在 Person 类上,而是希望通过某种方式告诉 MVC 框架“嘿,如果您遇到 Person 类,元数据在 PersonMetadata 类中”。
它只是颠倒了对我来说更具组合性并遵循开闭原则的方向,因为我不必触摸 Person 类来用元数据“扩展”它。
我知道这会造成可能附加多个相互冲突的元数据的问题,也会增加复杂性,但灵活性总是要付出代价的。
我想要一种程序化或声明性的方式,或者最好两者兼而有之:)
所以一个可能是这样的:
另一个可能是: