- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有不止一个属性需要获取,它们以相同的前缀开头,但我只能通过键获得 ModelBindingContext.ValueProvider
的确切值。 .有没有办法获取多个 ValueProvider 或迭代 System.Web.Mvc.DictionaryValueProvider<object>
?
var value = bindingContext.ValueProvider.GetValue(propertyDescriptor.Name);
这样做的原因是一个名为 Settings 的动态属性,它将绑定(bind)到下面的 json 属性。现在设置上没有名为“启用”的属性,因此它不能正常绑定(bind)。
public class Integration
{
public dynamic Settings {get;set;}
}
"Integrations[0].Settings.Enable": "true"
"Integrations[0].Settings.Name": "Will"
最佳答案
知道了
public class DynamicPropertyBinder : PropertyBinderAttribute
{
public override bool BindProperty(ControllerContext controllerContext, ModelBindingContext bindingContext, PropertyDescriptor propertyDescriptor)
{
if (propertyDescriptor.PropertyType == typeof(Object))
{
foreach(var valueProvider in bindingContext.ValueProvider as System.Collections.IList)
{
var dictionary = valueProvider as DictionaryValueProvider<object>;
if (dictionary != null)
{
var keys = dictionary.GetKeysFromPrefix($"{bindingContext.ModelName}.{propertyDescriptor.Name}");
if (keys.Any())
{
var expando = new ExpandoObject();
foreach (var key in keys)
{
var keyValue = dictionary.GetValue(key.Value);
if (keyValue != null)
{
AddProperty(expando, key.Key, keyValue.RawValue);
}
}
propertyDescriptor.SetValue(bindingContext.Model, expando);
return true;
}
}
}
}
return false;
}
public static void AddProperty(ExpandoObject expando, string propertyName, object propertyValue)
{
var expandoDict = expando as IDictionary<string, object>;
if (expandoDict.ContainsKey(propertyName))
expandoDict[propertyName] = propertyValue;
else
expandoDict.Add(propertyName, propertyValue);
}
}
关于asp.net - 迭代 ModelBindingContext.ValueProvider,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49309931/
我正在使用 MVC 4 Web API 并且我有这个虚拟 ValueProvider: DummyValueProvider.cs class DummyValueProvider : IValueP
这就是我目前向图表添加一条线的方法。这是我想要显示的任意函数的抽象类: public abstract class ArbitraryFunction implements ValueProv
我有不止一个属性需要获取,它们以相同的前缀开头,但我只能通过键获得 ModelBindingContext.ValueProvider 的确切值。 .有没有办法获取多个 ValueProvider 或
在我的应用程序中,我试图将日期和时间与日期时间字段分开,以便我可以在日期上放置一个 jQuery 日期选择器。我找到了 Hanselman's code for splitting the DateT
我正在尝试创建一个谷歌数据流模板,但我似乎找不到一种方法来做到这一点而不产生以下异常: WARNING: Size estimation of the source failed: RuntimeVa
想通过一些示例了解 hybris for solr 中 value provider 的确切用法。我在 hybris 中从事一个项目,我必须向 Product 添加新属性,并希望在产品列表页面中将其显
我想在 ASP.Net.MVC 2 Beta 中创建一个 Valueprovider。我的值(value)源将是一个 JSON 最佳答案 从 MVC 2 RC Futures 查看 JsonValue
我的项目使用 ASP.NET MVC。 我通过 ajax 将一些数据发送到看起来像这样的 Controller 操作 { "data" : { "DATE" : "\/Date(14090976000
我想知道 ASP.NET MVC 中不同 ValueProvider 的执行顺序。 值(value)提供者: 查询字符串值提供者 路由数据值提供者 FormValueProvider ... 我没有找
我正在尝试创建一个可以从由 pubsub 消息触发的云函数调用的数据流模板。 pubsub 消息从 Scrapinghub 发送一个作业 ID (scrapy scrapers的平台),到触发数据流模
我正在尝试创建一个模板以从 BigQuery 读取数据,不幸的是我在尝试构建模板时遇到异常。 An exception occured while executing the Java class.
我的数据模型不是使用 Bean 模型对象,而是基于 HashMap 容器中的键值对构建。 有人有 GXT 的 Grid ValueProvider 和 PropertyAccess 与底层 Map 一
我正在尝试通过通用数据流代码写入 BigTable。我所说的通用是指它必须能够使用 ValueProvider 写入运行时作为参数提供的任何 BigTable 表。该代码没有显示任何错误,但是当我尝试
在旧的 MVC 版本中有一个 ValueProviderFactory ,但在 MVC6 中,我找不到那个工厂。如何在 MVC6 中定义自定义 valueProvider? 最佳答案 您可以在Conf
我正在尝试为 Json.NET 创建一个自定义 ValueProvider,它将跳过序列化所有对象,而只会返回一个 Guid 类型的属性来代替它们的主键(作为引用)。 例子: jsonData: {
我正在尝试迁移到 ASP.Net MVC 2 并遇到一些问题。 这是一个: 我需要直接绑定(bind)字典 作为查看帖子的结果。 在 ASP.Net MVC 1 中,它使用自定义 完美运行IModel
我的模型 Binder 中有以下方法: protected override object CreateModel(ControllerContext controllerContext, Model
我想发送一个 HTTP POST 请求,其正文包含构成一篇简单博客文章的信息,没什么特别的。 我读过 here当您想在 Web API 中绑定(bind)复杂类型(即不是 string、int 等的类
我试图为 Apache 梁创建一个模板,以将数据索引到 Elasticsearch 。正在创建模板,但在调用模板时,管道因无协议(protocol)错误而失败。它看起来很奇怪,因为错误与 URL 对象
我有一个疑问 用这句话:filterContext.RouteData.Values["MyRouteValue"] key应该在路由表的Route中声明,对吗? 我的意思是,应该在路由表中类似:{M
我是一名优秀的程序员,十分优秀!