问题标签 [imodelbinder]

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 投票
4 回答
14657 浏览

asp.net-mvc - 如何使用 `BindModel(HttpActionContext actionContext...` 签名创建自定义模型绑定器?

我需要知道如何IModelBinder在 MVC 4 中创建自定义,并且它已被更改。

必须实施的新方法是:

0 投票
2 回答
1223 浏览

ajax - 具有 json 模型绑定到复杂类的 ASP MVC 3 ajax

我的 ASP MVC 3 项目中有以下类层次结构。一些条目可以有容器,而那个容器里面可以有一些内容。容器和内容类是抽象类。

等级制度

我需要从浏览器接收 json 请求,并将其绑定到属于 Entry 类的模型。问题是 DefaultModelBinder 类没有正确创建 Entry 模型类,因为它不知道它应该是什么类型的具体容器。例如:

+

以下请求导致服务器异常: 无法创建抽象类。我可以将类型字段添加到 json 请求中,例如:

如何指示模型绑定机制将Type字段设置为'FullContainer'的对象映射到FullContainer类?

0 投票
1 回答
3675 浏览

asp.net-mvc-3 - 如何从自定义模型绑定器返回 HTTP 状态代码

我有一个自定义模型绑定器,它从 MEF 容器中提取接口的实现。它的实现如下:

当 MEF 具有 petId 的导出时,这非常有效......但当导出不存在时返回 http 状态 500(服务器错误)。错误消息混淆要求指示应返回 http 状态 403(禁止)。

可以做些什么来捕获错误,更改响应状态,或者不返回内容,或者重新路由 Action 来处理这种情况?

0 投票
3 回答
538 浏览

asp.net-mvc - ASP.NET MVC3 自定义模型绑定器问题

我有一个包含标签列表的申请人模型:

提交表单时,有一个输入字段,其中包含用户输入的以逗号分隔的标签列表。我有一个自定义模型绑定器将此列表转换为集合:

但是,当我的模型被填充并传递到 POST 上的控制器操作时,Tags 属性仍然是一个空列表。知道为什么它没有正确填充列表吗?

0 投票
0 回答
258 浏览

c# - 在 WebPI 和 asp.net mVC 4 中使用自定义模型绑定器实现默认模型绑定

custom Model binder用所有属性创建了一个工作正常。
但问题是我缺少默认的模型绑定。
我正在使用DataAnotations我的对象,并且我只想将我的自定义模型绑定器应用于 Enums。
如何实现自定义模型绑定器以及默认模型绑定。
在自定义模型绑定器中,我的代码如下。


0 投票
1 回答
1974 浏览

c# - 使 Web API IModelBinder 应用于该类型的所有实例

我正在使用自定义 IModelBinder 尝试将字符串转换为 NodaTime LocalDates。我的LocalDateBinder样子是这样的:

在我的 WebApiConfig 中SimpleModelBinderProvider,我使用 la注册了这个模型绑定器

当我有一个采用 LocalDate 类型参数的操作时,这很有效,但如果我有一个更复杂的操作,它在另一个模型中使用 LocalDate,它永远不会被触发。例如:

我认为这与我如何使用 Web API 注册模型绑定器有关,但我不知道我需要更正什么 - 我需要自定义绑定器提供程序吗?

0 投票
2 回答
484 浏览

model - 我的 OWIN 应用程序没有触发我的自定义模型绑定器

我有一些格式奇怪的日期(dd.MM.YYYY)。这是企业希望它展示的方式。所以,我需要一个自定义模型活页夹来读取这个日期。我有这个解决方案工作正常,但是当我切换到使用 OWIN 时,它就停止了工作。这是我现在的代码:

我的 OWIN 启动文件:

自定义模型绑定器

发生的事情是自定义模型绑定器没有触发。我怀疑它与 OWIN 设置有关。

0 投票
3 回答
4371 浏览

model-binding - mvc6自定义模型绑定器未触发

我正在尝试找出当前 mvc6(visual studio 2015 候选版本)中的模型绑定。这是我的代码到目前为止的样子:

在startup.cs中注册

我的控制器:

我还不关心从输入中实际创建对象,让我烦恼的是,当我调试时,我看到控制器正在触发(x 为空),但没有调用活页夹函数。关于这里有什么问题的任何想法?

[编辑:这已经更新]另外请注意,我已经看到在 MVC6 中创建自定义模型绑定器的正确方法是什么?但是该帖子中的答案要么错误,要么已过时,因为提供的示例未实现当前的 IModelBinder。

谢谢

编辑:这是用于触发控制器的 javascript 代码:

0 投票
0 回答
170 浏览

c# - autofac 和 webapi 2 ModelBinder 调用了两次 - 第二次使用空的 bindingContext.ModelName

我有以下配置:

它使用以下方法:

我没有以任何方式标记我的控制器。

但是签名的一个例子是:

粘合剂:

我编写了一个测试来检查当我传递一个无效对象时模型绑定是否TypeModelBinder失败。

但是我注意到以下行为。第一次通过它就像我期望的那样,并bindingContext.ModelName设置为"data"

但是我注意到,当绑定失败时,它会立即重新进入活页夹的 BindModel 方法,这次bindingContext.ModelName设置为""它,然后添加已添加的任何模型错误的另一个副本,并且 owin 堆栈中的某些内容会抛出 500 ...

连接我的模型绑定器时有什么明显的我做错了吗?

0 投票
1 回答
292 浏览

asp.net-mvc - 动作方法上的 MVC 5 会话变量 ModelBinder null

我正在做一个 MVC APP。UserModel我有一个从具有 2 个属性的模型调用继承的视图。用户名和密码。我想将这些值保存在 Session 变量中,所以我使用ModelBinder.

我的类定义是这样的。

我的模型活页夹是这样的。

我已经在我的 global.asax 中正确定义了

我发现的问题是从视图Action Method接收UserModel实例的我是空的。它读取已经有我的会话而不是读取视图,然后将其保存在会话中。

我想这是因为它与我定义保存在BinderModel

所以,我的问题是,如何在 Session 中保存使用 BinderModel 从视图继承的模型?