问题标签 [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.
asp.net - 如何在 ASP.NET Web 窗体中创建自定义模型绑定器?
我正在使用 ASP.NET Web 窗体,现在无法迁移到 ASP.NET MVC。我喜欢 MVC 团队实现自定义 IHttpHandler 或 HttpModule(不确定是哪一个)的方式,它获取从客户端 Ajax 请求传入的 JSON 数据并将数据传递到请求页面上的操作方法中。
我希望能够拦截 Http 请求,检索该 JSON/“查询字符串参数”,并在将检索到的数据作为参数传递时调用页面上的方法。
目前,我已经实现了一个自定义路线,它工作正常。我唯一缺少的部分是在 ASP.NET MVC 中调用它的“自定义模型绑定器”。
请有人可以帮助我了解如何去做。
asp.net-mvc-3 - 模型绑定标签集合
是否可以为这样的东西添加模型活页夹?
asp.net-mvc - 模型的依赖注入
我敢肯定之前有人问过这个问题,但我很难找到在哪里。
我正在使用 Ninject 从我的控制器中删除依赖项,以及存储库设计模式。
据我了解,这种方法的一个好处是我可以轻松地拆分我的存储库和域实体,并在我希望的情况下使用另一个程序集。因此,我将域实体和存储库保存在外部程序集中,并且可以从接口模拟我的所有依赖项。
似乎虽然我可以在大多数地方使用接口来引用我的域实体,但在涉及模型绑定时,我必须使用对具体类的引用。我读过这与我理解的序列化有关,但这是避免引用域实体来创建单独模型的唯一方法吗?
我可以用自定义模型绑定做什么?
一点背景知识:我是一位经验丰富的 ASP.net 开发人员,但对 MVC 很陌生。
asp.net-mvc-3 - 如何构建一个自定义模型绑定器,它将根据请求上下文返回不同类型的模型?
我有一个特定操作的传入请求(来自 Facebook 的 Credits 处理),该操作将具有不同的内容,因此我有不同的模型类来处理它。
这是我的行动:
这是我的模型活页夹。
FacebookPaymentsGetItemsRequest
例如,如果传入的变量“方法”是“payments_get_items”并且FacebookPaymentsStatusUpdateRequest
如果方法是“payments_status_update”并且我不知道如何在 bindingContext 中更改模型的类型,我想创建一个对象。是否可以在自定义模型绑定器中更改模型的类型?
其他方法:我也使用 BindModel 进行了尝试,我能够返回正确的对象,但所有属性都为 null,因为默认模型绑定器没有填充它:
asp.net-mvc-3 - 如何让 MVC 模型绑定器仅绑定列表的非 Null 值?
在这个问题之后,我想知道是否有办法让 MVC 模型绑定器只将元素绑定到一个列表,如果有一个值来填充它们。例如,如果有一个包含三个同名输入且未输入一个值的表单,我该如何停止 MVC 绑定一个包含 3 个元素的列表,其中一个为空?
asp.net-mvc - ASP.Net MVC中子对象的绑定排除不起作用模型绑定
我在 Asp.Net MVC 中的模型绑定中遇到了问题。我有如下视图模型,
我试图在我的操作方法中排除模型绑定“Article”子对象上的属性,如下所示,
但是即使使用上述设置,模型绑定器也会填充名为 Abstract 的属性。
如果我做错了什么,请告诉我。在进行模型绑定时,我需要排除 Article 子对象中的一些属性。
asp.net-mvc - 自定义模型绑定器不验证模型
我开始使用 knockout.js,并在此过程中使用了 FromJsonAttribute(由 Steve Sanderson 创建)。我遇到了自定义属性未执行模型验证的问题。我整理了一个简单的例子——我知道它看起来像很多代码——但基本问题是如何在自定义模型绑定器中强制验证模型。
这是我的控制器:
我的问题是模型在我的 PostJson 方法中始终有效。为了完整起见,这里是 FromJson 属性的 Sanderson 代码:
asp.net-mvc-3 - 内部模型的自定义模型绑定器
我有一个这样的模型:
TimePicker
是一个看起来像这样的内部模型:
我正在尝试为内部模型创建自定义模型绑定:TimePicker
问题是:如何获取以表单形式提交到TimePicker
模型字段的自定义模型绑定器中的值?
如果我尝试这样得到它:
我刚null
进去value
。
我不确定如何正确实现模型绑定器。
asp.net-mvc-3 - 带有自定义模型绑定器的“IEntityChangeTracker 的多个实例无法引用实体对象”
我一直在关注 Darin 对我的控制器瘦身问题的回答,但我遇到了这个IEntityChangeTracker
例外的问题:
一个实体对象不能被多个 IEntityChangeTracker 实例引用。
这是我的模型活页夹:
在此之后,我的自定义操作过滤器只需对帖子进行一些验证,并在帖子无效时重定向。到目前为止,一切都很好。当我尝试更新帖子读取计数时,错误发生在我的控制器中:
我理解IEntityChangeTracker
的抱怨,因为我实际上最终得到了 2 个引用同一个对象的存储库,这似乎是等待发生的糟糕魔力。我知道我可以将PostVisited()
电话推入,PostModelBinder
但更新模型似乎不属于那里的行为。
还有其他方法吗?
谢谢你。
asp.net-mvc-3 - 如何绑定一个
如何绑定到具有input[type='text']
类型属性的字段Subsidiary
当用户注册一方时,其中一个字段是该方的子公司
我没有放置 DropDown、Select 或 Radio,而是放置了一个input[type=
如何绑定到具有input[type='text']
类型属性的字段Subsidiary
当用户注册一方时,其中一个字段是该方的子公司
我没有放置 DropDown、Select 或 Radio,而是放置了一个input[type='text']
字段,当用户开始输入子公司的名称时,jQueryUI 的自动完成功能会显示已过滤的子公司列表
代码
为了完成这些任务,我有:
视图模型
HTML
由 EditorTemplates 生成的 HTMLSubsidiarySelect
#Subsidiary_Title
> 用于显示选中的子公司
#Subsidiary
> 保存选中的子公司代码Guid
控制器
我的控制没什么特别的。我希望Subsidiary
我PartyViewModel
班上的财产能被填满。
问题
我想创建一个SubsidiaryBinder: IModelBinder
,以便在发布帖子时,我会Subsidiary
用数据库值填充属性(就像 ID 一样)
- 如果这是解决方案,那么如何创建一个仅在 PartyViewModel 类中运行的活页夹
- 发帖时如何自动从数据库中检索
Subsidiary
属性类的值PartyViewModel
?
您可以做的最好的事情是查看哪些数据点,看看它是否有迹象表明它是您想要的,尽管 a) 它不会接近保证并且 b) 可能很危险,因为您不知道不知道数据实际指向的东西有多大。我想它并不比仅仅铸造和使用它更危险,但是(正如已经建议的那样)重新设计会更好。
如何绑定到具有input[type='text']
类型属性的字段Subsidiary
当用户注册一方时,其中一个字段是该方的子公司
我没有放置 DropDown、Select 或 Radio,而是放置了一个 如何绑定到具有 我没有放置 DropDown、Select 或 Radio,而是放置了一个 为了完成这些任务,我有: 视图模型 HTML 由 EditorTemplates 生成的 HTML 控制器 我的控制没什么特别的。我希望 我想创建一个 您可以做的最好的事情是查看哪些数据点,看看它是否有迹象表明它是您想要的,尽管 a) 它不会接近保证并且 b) 可能很危险,因为您不知道不知道数据实际指向的东西有多大。我想它并不比仅仅铸造和使用它更危险,但是(正如已经建议的那样)重新设计会更好。input[type=
input[type='text']
类型属性的字段Subsidiary
当用户注册一方时,其中一个字段是该方的子公司input[type='text']
字段,当用户开始输入子公司的名称时,jQueryUI 的自动完成功能会显示已过滤的子公司列表代码
SubsidiarySelect
#Subsidiary_Title
> 用于显示选中的子公司
#Subsidiary
> 保存选中的子公司代码GuidSubsidiary
我PartyViewModel
班上的财产能被填满。问题
SubsidiaryBinder: IModelBinder
,以便在发布帖子时,我会Subsidiary
用数据库值填充属性(就像 ID 一样)
Subsidiary
属性类的值PartyViewModel
?