问题标签 [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 投票
1 回答
371 浏览

asp.net - 如何在 ASP.NET Web 窗体中创建自定义模型绑定器?

我正在使用 ASP.NET Web 窗体,现在无法迁移到 ASP.NET MVC。我喜欢 MVC 团队实现自定义 IHttpHandler 或 HttpModule(不确定是哪一个)的方式,它获取从客户端 Ajax 请求传入的 JSON 数据并将数据传递到请求页面上的操作方法中。

我希望能够拦截 Http 请求,检索该 JSON/“查询字符串参数”,并在将检索到的数据作为参数传递时调用页面上的方法。

目前,我已经实现了一个自定义路线,它工作正常。我唯一缺少的部分是在 ASP.NET MVC 中调用它的“自定义模型绑定器”。

请有人可以帮助我了解如何去做。

0 投票
0 回答
79 浏览

asp.net-mvc-3 - 模型绑定标签集合

是否可以为这样的东西添加模型活页夹?

0 投票
3 回答
1671 浏览

asp.net-mvc - 模型的依赖注入

我敢肯定之前有人问过这个问题,但我很难找到在哪里。

我正在使用 Ninject 从我的控制器中删除依赖项,以及存储库设计模式。

据我了解,这种方法的一个好处是我可以轻松地拆分我的存储库和域实体,并在我希望的情况下使用另一个程序集。因此,我将域实体和存储库保存在外部程序集中,并且可以从接口模拟我的所有依赖项。

似乎虽然我可以在大多数地方使用接口来引用我的域实体,但在涉及模型绑定时,我必须使用对具体类的引用。我读过这与我理解的序列化有关,但这是避免引用域实体来创建单独模型的唯一方法吗?

我可以用自定义模型绑定做什么?

一点背景知识:我是一位经验丰富的 ASP.net 开发人员,但对 MVC 很陌生。

0 投票
2 回答
2265 浏览

asp.net-mvc-3 - 如何构建一个自定义模型绑定器,它将根据请求上下文返回不同类型的模型?

我有一个特定操作的传入请求(来自 Facebook 的 Credits 处理),该操作将具有不同的内容,因此我有不同的模型类来处理它。

这是我的行动:

这是我的模型活页夹。

FacebookPaymentsGetItemsRequest例如,如果传入的变量“方法”是“payments_get_items”并且FacebookPaymentsStatusUpdateRequest如果方法是“payments_status_update”并且我不知道如何在 bindingContext 中更改模型的类型,我想创建一个对象。是否可以在自定义模型绑定器中更改模型的类型?


其他方法:我也使用 BindModel 进行了尝试,我能够返回正确的对象,但所有属性都为 null,因为默认模型绑定器没有填充它:

0 投票
1 回答
1643 浏览

asp.net-mvc-3 - 如何让 MVC 模型绑定器仅绑定列表的非 Null 值?

在这个问题之后,我想知道是否有办法让 MVC 模型绑定器只将元素绑定到一个列表,如果有一个值来填充它们。例如,如果有一个包含三个同名输入且未输入一个值的表单,我该如何停止 MVC 绑定一个包含 3 个元素的列表,其中一个为空?

0 投票
0 回答
893 浏览

asp.net-mvc - ASP.Net MVC中子对象的绑定排除不起作用模型绑定

我在 Asp.Net MVC 中的模型绑定中遇到了问题。我有如下视图模型,

我试图在我的操作方法中排除模型绑定“Article”子对象上的属性,如下所示,

但是即使使用上述设置,模型绑定器也会填充名为 Abstract 的属性。

如果我做错了什么,请告诉我。在进行模型绑定时,我需要排除 Article 子对象中的一些属性。

0 投票
3 回答
3641 浏览

asp.net-mvc - 自定义模型绑定器不验证模型

我开始使用 knockout.js,并在此过程中使用了 FromJsonAttribute(由 Steve Sanderson 创建)。我遇到了自定义属性未执行模型验证的问题。我整理了一个简单的例子——我知道它看起来像很多代码——但基本问题是如何在自定义模型绑定器中强制验证模型。

这是我的控制器:

我的问题是模型在我的 PostJson 方法中始终有效。为了完整起见,这里是 FromJson 属性的 Sanderson 代码:

0 投票
1 回答
4267 浏览

asp.net-mvc-3 - 内部模型的自定义模型绑定器

我有一个这样的模型:

TimePicker是一个看起来像这样的内部模型:

我正在尝试为内部模型创建自定义模型绑定:TimePicker

问题是:如何获取以表单形式提交到TimePicker模型字段的自定义模型绑定器中的值?

如果我尝试这样得到它:

我刚null进去value

我不确定如何正确实现模型绑定器。

0 投票
1 回答
740 浏览

asp.net-mvc-3 - 带有自定义模型绑定器的“IEntityChangeTracker 的多个实例无法引用实体对象”

我一直在关注 Darin 对我的控制器瘦身问题的回答,但我遇到了这个IEntityChangeTracker例外的问题:

一个实体对象不能被多个 IEntityChangeTracker 实例引用。

这是我的模型活页夹:

在此之后,我的自定义操作过滤器只需对帖子进行一些验证,并在帖子无效时重定向。到目前为止,一切都很好。当我尝试更新帖子读取计数时,错误发生在我的控制器中:

我理解IEntityChangeTracker的抱怨,因为我实际上最终得到了 2 个引用同一个对象的存储库,这似乎是等待发生的糟糕魔力。我知道我可以将PostVisited()电话推入,PostModelBinder但更新模型似乎不属于那里的行为。

还有其他方法吗?

谢谢你。

0 投票
1 回答
1260 浏览

asp.net-mvc-3 - 如何绑定一个

如何绑定到具有input[type='text']类型属性的字段Subsidiary 当用户注册一方时,其中一个字段是该方的子公司

我没有放置 DropDown、Select 或 Radio,而是放置了一个input[type='text']字段,当用户开始输入子公司的名称时,jQueryUI 的自动完成功能会显示已过滤的子公司列表

代码

为了完成这些任务,我有:

视图模型

HTML

由 EditorTemplates 生成的 HTMLSubsidiarySelect

#Subsidiary_Title> 用于显示选中的子公司
#Subsidiary> 保存选中的子公司代码Guid

控制器

我的控制没什么特别的。我希望SubsidiaryPartyViewModel班上的财产能被填满。

问题

我想创建一个SubsidiaryBinder: IModelBinder,以便在发布帖子时,我会Subsidiary用数据库值填充属性(就像 ID 一样)

  1. 如果这是解决方案,那么如何创建一个仅在 PartyViewModel 类中运行的活页夹
  2. 发帖时如何自动从数据库中检索Subsidiary属性类的值PartyViewModel

您可以做的最好的事情是查看哪些数据点,看看它是否有迹象表明它是您想要的,尽管 a) 它不会接近保证并且 b) 可能很危险,因为您不知道不知道数据实际指向的东西有多大。我想它并不比仅仅铸造和使用它更危险,但是(正如已经建议的那样)重新设计会更好。