asp.net-mvc – 如何在视图上下文之外获取ModelMetadata?
发布时间:2020-05-22 21:27:50 所属栏目:asp.Net 来源:互联网
导读:我需要导出一些数据(构建一个文件),所以数据不会被视图产生(渲染),而是纯粹的C#代码,而不是一个视图.但我需要一些ModelMetadata信息. 我还要问如何在单元测试中建立一个ModelMetadata,那么外面的Views呢? 假设您有一个具有一些元数据的视图模型: public cla
|
我需要导出一些数据(构建一个文件),所以数据不会被视图产生(渲染),而是纯粹的C#代码,而不是一个视图.但我需要一些ModelMetadata信息. 我还要问如何在单元测试中建立一个ModelMetadata,那么外面的Views呢? 解决方法假设您有一个具有一些元数据的视图模型:public class MyViewModel
{
[DisplayName("Bar")]
public string Foo { get; set; }
}
你可以这样检索这个元数据: ModelMetadata metadata = ModelMetadata.FromLambdaExpression<MyViewModel,string>(
x => x.Foo,new ViewDataDictionary<MyViewModel>()
);
Assert.AreEqual("Bar",metadata.DisplayName);
更新: 根据注释部分的要求,这里仅在运行时知道类型时如何获取元数据: var type = typeof(MyViewModel); var metadata = ModelMetadataProviders.Current.GetMetadataForType(null,type); 并且如果要获取子属性的元数据,只需指定属性的名称: var type = typeof(MyViewModel); var metadata = ModelMetadataProviders.Current.GetMetadataForProperty(null,type,"Foo"); (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- reportviewer – 在ASP.NET MVC中的RDLC报表中看不到或添加
- asp.net-mvc – 处理MVC中的无效URL
- asp.net-mvc – 如何更改MVC Core ValidationSummary的默认
- asp.net-mvc – 静态文件请求正在ASP.NET MVC3中托管代码
- asp.net-mvc – 异步操作方法
- asp.net – SQL – 两个不同长度的字符串之间的相似性
- asp.net-mvc-3 – ASP.NET MVC 3控制器路由 – 使家庭控制器
- ASP.NET MVC尝试加载旧版本的Owin程序集
- 在使用ASP.NET会话时是否可以强制请求并发?
- asp.net-mvc-3 – 在ASP.NET MVC3中使用pdf.js.
推荐文章
站长推荐
- asp.net-mvc – ASP.NET MVC重复任务
- asp.net-mvc – 什么是AsyncManager.Outstanding
- asp.net-web-api – 如何从ASP.net 5 web api返回
- 版本化ASP.NET Web应用程序
- asp.net-mvc – RavenDB部署问题
- asp.net – 从aspx页面中的Static方法访问ViewSt
- .net – 如何从ModelState键中删除前缀?
- asp.net-mvc – 我什么时候应该在ASP.NET MVC中创
- asp.net-mvc-3 – ExpandoObject,匿名类型和Razo
- asp.net-mvc – 发送电子邮件是否属于应用程序的
热点阅读
