entity-framework – 如何找到UIHInt属性的target属性?
发布时间:2020-12-16 03:45:03 所属栏目:asp.Net 来源:网络整理
导读:我有以下UIHInt基于attibute: [AttributeUsage(AttributeTargets.Property)]public class DropDownListAttribute : UIHintAttribute,IMetadataAware{ public DropDownListAttribute(string selectListName) : base(KnownUiHints.DropDown,KnownPresentation
|
我有以下UIHInt基于attibute:
[AttributeUsage(AttributeTargets.Property)]
public class DropDownListAttribute : UIHintAttribute,IMetadataAware
{
public DropDownListAttribute(string selectListName)
: base(KnownUiHints.DropDown,KnownPresentationLayers.Mvc,selectListName)
{
SelectListName = selectListName;
}
public string SelectListName { get; set; }
public void OnMetadataCreated(ModelMetadata metadata)
{
metadata.AdditionalValues[KnowMetadataKeys.SelectListName] = SelectListName;
}
}
它的目的是将SelectList分配给要从列表中选择的单值视图模型属性,如下所示: public class DemoModel: ViewModel
{
[Required]
[DropDownList("LanguageSelect")]
[Display(Name = "Language")]
public int? LanguageId { get; set; }
public SelectList LanguageSelect { get; set; }
}
我现在正在使用一些非常Golbergian机器和我自己的元数据提供程序,但是发现了IMetadataAware.OnMetadataCreated,我觉得我可以简化这个.现在我将SelectListName添加到元数据中,然后跳过一些箍到a)将SelectList转换为一种全局字典,以及b)在呈现下拉列表时从该字典中获取选择列表. 我想将SelectList本身添加到属性中的模型元数据,即属性适用的属性的本地元数据,但是如何访问该属性或它包含类型? 解决方法
用于访问Pocos上的属性的示例代码.
有一个或多个属性版本可供查看 示例调用方法 var MutliAttributeList = MyStatic.GetPocoMultiAttribute<MyAttribute>(typeof(poco),"AttrName");
public static UAttribute GetPocoAttribute<TPoco,UAttribute>(string attributeName) {
var result = typeof (TPoco).GetCustomAttributes(true)
.Where(attribute => attribute.GetType()
.Name == attributeName)
.Cast<UAttribute>()
.FirstOrDefault();
return result;
}
public static IEnumerable<UAttribute> GetPocoMultiAttribute<UAttribute>(Type pocoType,string attributeName) {
var result = pocoType.GetCustomAttributes(true)
.Where(attribute => attribute.GetType()
.Name == attributeName).Cast<UAttribute>().ToList();
return result;
}
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-core – 在Microsoft.AspNet.Http.HttpContext中的
- asp.net-mvc – 使用mvc 4 razor引擎显示3个文本框的一条错
- ASP.Net表单身份验证 – 在超时时转到登录页面
- asp.net-mvc – LINQ to Entities无法识别方法异常
- asp.net-mvc – 使用RedirectToAction时,routeValue丢失引用
- asp.net-mvc – 保持viewdata在RedirectToAction
- asp.net-mvc – T4MVC:如何使用说Url.Action?
- asp.net – 从SignalR Hub调用方法的问题.调用失败.承诺遭到
- 基于角色的启用/禁用asp.net中的控件
- asp.net-mvc – 使用asp.net mvc 2功能与火花浏览引擎
推荐文章
站长推荐
- asp.net-mvc – asp.net MVC-3视频教程?
- asp.net-mvc – 为什么在Razor中使用Html.Render
- asp.net-mvc – 如何将应用程序用户放在与其余对
- asp.net-mvc-4 – 高级WebGrid教程或解决方案
- asp.net-mvc – 使用jquery进行模型绑定ajax序列
- 引领从经典ASP到ASP.NET的跳跃,有什么建议吗?
- asp.net – GridView不记得回发之间的状态
- asp.net-mvc – ASP.NET核心映射到静态文件处理程
- asp.net – monodevelop可以像没有VS2010一样进行
- asp.net-mvc – 更改ASP.NET MVC筛选器中的视图
热点阅读
