asp.net-mvc – 使用EditorFor时向ModelMetadata.AdditionalValu
发布时间:2020-12-16 03:45:04 所属栏目:asp.Net 来源:网络整理
导读:如果我有一个约定来更改编辑器并设置一些值 public class MetadataProvider : DataAnnotationsModelMetadataProvider{ protected override ModelMetadata GetMetadataForProperty(Funcobject modelAccessor,Type containerType,System.ComponentModel.Proper
如果我有一个约定来更改编辑器并设置一些值
public class MetadataProvider : DataAnnotationsModelMetadataProvider { protected override ModelMetadata GetMetadataForProperty(Func<object> modelAccessor,Type containerType,System.ComponentModel.PropertyDescriptor propertyDescriptor) { var meta = base.GetMetadataForProperty(modelAccessor,containerType,propertyDescriptor); if (IsNumericType(propertyDescriptor.PropertyType)) { meta.TemplateHint = "Number"; var attr = propertyDescriptor.Attributes.OfType<RangeAttribute>().FirstOrDefault(); if (attr != null) { meta.AdditionalValues["min"] = attr.Minimum; meta.AdditionalValues["max"] = attr.Maximum; } } return meta; } //... } 然后我可以在模板中获取其他值 @{ var min = ViewData.ModelMetadata.AdditionalValues["min"]; var max = ViewData.ModelMetadata.AdditionalValues["max"]; } 但是,如果我使用相同的模板 @Html.EditorFor(x => x.Number,new { min = 1,max = 10 }) 然后我应该得到这样的价值观 @{ var min = ViewData["min"]; var max = ViewData["max"]; } 我可以以某种方式合并additionalViewData和ModelMetadata.AdditionalValues,以便我可以从一个地方获取值? 解决方法
老实说,我没有试过看看AdditionalValues是否被正确拉出,但是你的视图中为内置提供了什么?
@using System.Web.Mvc @{ var meta = ModelMetadata.FromLambdaExpression(model => model,ViewData); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – VS2012 intellisense不适用于自定义控件
- asp.net-mvc – 如何在RegularExpression中忽略大小写?
- asp.net-mvc-3 – 分页/排序不适用于部分视图中使用的网格
- asp.net-mvc – 为什么不在View中使用Linq
- asp.net-mvc – Asp.net Mvc:Ninject – IPrincipal
- asp.net-mvc-3 – MVC默认重定向错误页面并不总是显示
- asp.net-mvc – 无法使用Windsor Container将依赖项注入Asp
- asp.net-core – 使用操作约束时在MVC 6中使用Swagger的多个
- asp.net – 以编程方式访问httpRuntime maxRequestLength
- asp.net-mvc-2 – 带有JavaScript变量的ASP.NET MVC 2 Html
推荐文章
站长推荐
- 解析ASP.NET MVC使用Java中的Jackson JSON库返回
- FormsAuthenticationModule使用ASP.NET MVC验证事
- asp.net-core – 在.net Core中使用NPoco
- asp.net-mvc-3 – ASP.NET MVC中全局错误/异常处
- 深入理解C# 3.x的新特性(2):Extension Method
- 【译】ASP.NET Core在 .NET Core 3.1 Preview 1中
- asp.net-mvc – Rotativa和Bootstrap网格样式
- Asp.Net 中验证 Discuz 的登录密码
- asp.net-mvc-3 – .NET MVC 3提交按钮做了不同的
- .NET Core的日志[1]:采用统一的模式记录日志
热点阅读