问题标签 [custom-model-binder]

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.

0 投票
2 回答
110 浏览

asp.net-mvc-3 - 在动作签名中选择对象绑定器

我有一个自定义模型绑定器来从会话中获取数据,但我也想不时使用默认绑定器。

是否可以在动作签名中选择模型绑定器而不是使用 UpdateModel?

例子

谢谢

0 投票
2 回答
434 浏览

asp.net-mvc-3 - 仅适用于 MVC 应用程序的一个领域的自定义模型绑定器

我使用了在 Global.asax 文件中配置的自定义模型绑定器。是否可以仅在应用程序的某些区域下使用此模型绑定器?

0 投票
1 回答
2335 浏览

c# - 为什么我不能在我的 global.asax 文件夹中添加我的自定义模型绑定器?

我在网上看到了很多人设置他们的自定义模型绑定器的例子,如下所示:

但是当我尝试这样做时,它不会编译(.Binders未找到)。是什么赋予了?

0 投票
1 回答
1179 浏览

asp.net-mvc-4 - 如何在 Asp Net MVC 4 Web Api 的自定义模型绑定器中访问我的请求内容?

我一直在思考如何解决我在上一个问题中遇到的问题

我可以访问 .net Web api 模型绑定无法处理的数据吗?

我可以使用我自己的自定义模型绑定器,这样我就可以处理完美的案例,并在我得到我不期望的数据时写入日志。

我有以下课程和模型绑定器

这是我的控制器方法

我一直在使用提琴手来调用它

这很好用,在不使用自定义模型绑定器的情况下,我在 post 方法中从我的 json 数据中填充了一个 Person 对象,并且使用自定义模型绑定器,我总是得到一个人(Id= 2,Name =“dave”)。

问题是我似乎无法访问自定义模型活页夹中的 JSon 数据。

bindModel 方法中的 myPerson 和 myPersonName 变量都是 null。但是 myId 变量填充了 343。

任何想法如何在我的 BindModel 方法中访问 json 中的数据?

0 投票
0 回答
99 浏览

c# - 自定义模型绑定器导致新的数据库插入

我在 ASP.NET MVC 模型绑定中遇到了这个问题。我有一个带有国家/地区子对象的地址对象。但是 - 我正在为国家名称使用自动完成功能。所以在我看来,我有这样的事情:

我在这里写了一个自定义活页夹:

数据上下文是这样注入的:

控制器如下所示:

ETC...

每次我保存时 - 都会创建一个新的国家/地区,它具有我们在活页夹中找到的国家/地区的确切规格,但具有新的 ID。有什么线索吗?

0 投票
0 回答
150 浏览

c# - 如何从 bindingContext 中检索我的自定义对象?

我遇到的问题是,当我尝试通过 GetValue("Budget") 检索时,自定义模型活页夹为空,但如您所见,活页夹包含前缀。如果我查看元数据,我也会得到所有的密钥,但仍然是 NULL。任何人都可以解释为什么我得到 NULL ?

我的视图 > List.cshtml

我的 ViewModel > BudgetListViewModel

我的自定义模型绑定器 > BudgetListModelBinder

环球网

0 投票
1 回答
856 浏览

vb.net - 通过 WebAPI 操作接收复杂数据

我需要一种将复杂的 Web 请求转换为 .Net 对象的方法。我知道 WebAPI 使用默认模型绑定器,对于复杂的数据,需要自定义模型绑定器。

对象

动作(在 ApiController 中)

我有一个自定义模型绑定器的骨架:

问题:

如何使用actionContext获取构建所需的数据RaceListMobileModel

如何正确地将其存储在bindingContext?

现在,数据正在通过带有 JSON 内容的 POST 发送。

0 投票
3 回答
5244 浏览

asp.net-mvc - 在使用 ModelBinder 之前更改文化

我想创建一个不同语言的网站。我已经读到我可以创建一个ActionFilter,但我有一个小问题:
我必须创建一个自定义 ModelBinder 才能使用英语和德语数字格式(123,456,789.1vs. 123.456.789,1

此 ModelBinder 使用当前区域性来决定使用哪种格式。但不幸的是,ModelBinder 是在 ActionFilter 改变文化之前使用的。

如何在 ModelBinder 激活之前更改文化?

0 投票
0 回答
380 浏览

json - 使用 FlagsEnum、ModelBinders 和 JSON

如何修改 ModelBinder 以使用 FlagsEnum (Enum: byte)?我将显示代码:

代码

枚举

班级

json

模型粘合剂

不使用 JSON时工作,两个 Enuns 作为 FlagsEnuns。

问题

可以看到,在 classPessoaViewModel中,属性Tipo可以为TipoPessoaEnum.

因为该属性Tipo可以取多个值,所以我发送(以 JSON 格式)一个Tipo "Tipo":["Comprador","Proprietario"]. 哪些是enuns的值。

如何将我的 json 数组映射 "Tipo":["Comprador","Proprietario"]到我的属性Tipo

模型粘合剂

GetValue<T>在类的方法中,CreditoImobiliarioModelBinderbindingContext.ValueProvider.GetValue("Tipo"); 返回 null ??

0 投票
2 回答
4821 浏览

asp.net-mvc-3 - 在自定义模型绑定后验证视图模型

我有一个实现的视图模型,IValidatableObject它包含一个字符串和另一个视图模型的集合,如下所示:

Others我的验证使用以下提供的合同根据不同的规则检查每个对象IValidatableObject

由于真实的复杂结构,MainViewModel我不得不创建一个自定义模型绑定器,它重新构建模型并将 POST 数据分配给相关组件。我遇到的问题是没有得到验证,导致上下文级别的验证错误,因为它违反了某些数据库约束,我不确定我做错了什么 - 我认为这会在我的视图中ModelState.IsValid调用该方法Validate模型,但它似乎并没有这样下去。

我的模型活页夹看起来像这样:

任何帮助表示赞赏!

Validator.TryValidateObject

好吧,看来我离得更近了一点。我现在可以IValidatableObject通过将以下内容添加到我的自定义模型绑定器来运行我的方法:

似乎Validator.TryValidateObject调用验证方法并将最后一个参数设置为true使其验证所有属性。但是,我现在坚持使用validationResults控制器,以便可以以有意义的方式使用它们。