问题标签 [defaultmodelbinder]
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.
c# - ViewModel 属性上的装饰以使用不同的名称进行绑定
在 MVC3 上,有没有办法装饰 ViewModel 属性以便DefaultModelBinder
在请求中为其使用不同的名称?
例如,假设您有以下视图模型:
但是传入的参数是来自外部源(例如某些第三方组件)的Dir 。
我知道自定义模型绑定器可以处理这个问题,但我认为必须有一种方法来装饰属性,类似于动作参数可以Bind(Prefix="...")
用来定义该映射的方式。
asp.net-mvc - HtmlAttributes 字典未正确绑定
我正在编写的 html 帮助程序存在模型绑定问题。我已经在我的模型上声明了一个属性来处理 html 属性,简而言之;
然后我在Scott Hanselman 的帖子中呈现以下 html ;
但是在回调时 DefaultModelBinder 将值创建为字符串数组,这样下次我呈现我的 html 值时;
我得到以下 HTML;
这显然是字符串数组的默认 ToString 表示。价值是第一要素!!
似乎默认模型绑定器对声明为字典对象的值类型参数感到困惑。Dictionary<string,object>
正如我在 Html Helpers 源代码中观察到的那样,我确信我通过将 htmlAttributes 声明为 来遵循约定 。我在这里遗漏了一些明显的东西吗?
编辑:
只是更新以提供更多信息。我看到的绑定问题是 JQuery AJAX 后$.post
回调的结果,其中数据正在使用 JQuery 的 .serialize(); 进行序列化;在检查正在发送的数据时,一切看起来都井井有条。
ajax - 未为 MVC 远程验证调用调用 DefaultModelBinder 代码
我有一个继承自的 DefaultModelBinder,我尝试覆盖 BindModel 调用和 OnPropertyValidating 调用。
但是,当使用 ASP.NET MVC 的内置远程验证时,当控制器操作被调用时,它会绕过我的 DefaultModelBinder,因此它不会绑定/验证我想要的方式。
我已经在我的 global.asax 中注册了它,有什么想法吗?
asp.net-mvc-4 - DefaultModelBinder 返回子类 MVC4
几天来,我一直在尝试阅读有关此 DefaultModelBinder 的信息,但我仍然很困惑。我正在使用 MVC 4 和 EF 5 TablePerHiarchy 结构。
我的问题是我有一个资源基类:
有子类(DVD、电子书、书籍等)
我的控制器代码使用自定义 ModelBinder
这样我就可以将我的视图传递给资源(作为 DVD、书籍或任何其他类型)
并根据其派生属性绑定它,这些属性发生在部分视图内的开关中。
我的第一个问题是,当我将表单发布回来时,它作为资源而不是作为强制类型返回(所以我丢失了所有派生类型属性),这就是我创建 ResourceModelBinder 的原因。现在它正确地绑定/回发强制转换的类型,但它不绑定资源的基类属性,如 Title、ResourceID、ResourceTypeID..
谁能帮我理解我所缺少的,以便它实际上绑定了基础资源类属性以及派生类型属性。?
asp.net-mvc-4 - 如何使用 autofac 在 asp.net mvc 4 中设置 DefaultBinder ModelBinders.Binders.DefaultBinder?
我想使用 autofac 在 asp.net mvc 4 中设置 ModelBinders.Binders.DefaultBinder=new SmartBinder(),这样做的正确方法是什么?
forms - 提交删除第一个的项目列表会删除所有项目
我有一个模型,其中包含子项目列表,如下所示:
和
现在,当我使用 for 循环和 editorFor 渲染列表时,我得到的 html 是这样的:
现在想象一下通过 jQuery 从 HTML 中删除第一个元素,因为我不再希望它出现在我的列表中,然后保存列表。返回的数据没有第一个[0]
元素,并且从 1 到 9 的所有元素都转到服务器,但是模型绑定失败并且它(在服务器上)显示项目列表是null
我究竟做错了什么 ?
这是默认模型绑定器的错误吗?
asp.net-mvc-4 - 使用 MVC4 ApiController 时如何清理 JSON 输入参数?
我构建了一个基于 AntiXSS 的 HTML 清理器,通过覆盖默认模型绑定器来自动清理用户输入字符串,该模型绑定器在标准发布请求上运行良好。然而,当使用新的 ApiController 时,默认模型绑定器永远不会被调用,我认为这是因为这个新的 MVC 控制器使用 JSON 格式化程序来绑定来自请求正文的输入数据。
那么如何扩展格式化程序,以便在字符串属性被 JSON 绑定后修改它们?我宁愿不必在控制器级别实现它,并且应该有一种方法可以在它到达控制器之前做到这一点。
c# - 什么时候在 ASP.NET 管道中调用 DefaultModelBinder?
我想知道在DefaultModelBinder
ASP.NET 管道中何时调用?
背景:我想找一个合适的地方来设置当前线程的文化。
model-view-controller - 在自定义模型绑定中应该覆盖哪些方法或属性?
我有一个需要两个功能的 MVC 应用程序的自定义绑定方案
1) 一个通用的、可重用的自定义绑定器,它允许将表单/查询属性映射到类属性。
2)将给定表单/查询参数拆分为字典(或两个属性)的类特定自定义绑定器。
第一个要求是通过我通过 Google 找到的解决方案完成的(我很抱歉我无法提供链接,因为我忘记了在哪里找到它)。
本质上,有两个部分
像这样使用
第二块是
我的问题是要求#2。在这种情况下,SearchRequest 类上有一个附加属性
其中 Dictionary 的键是字段名,Dictionary 项的值是顺序(升序或降序)
使用示例
我需要绑定表单/查询值的逻辑将类似于
我知道我应该再次从 DefaultModelBinder 继承......或者在这种情况下 AliasModelBinder(它又从 DefaultModelBinder 继承)以支持 Alias,但我的问题是我不确定要覆盖哪个方法。关于重用 DefaultModelBinder 的最佳方式的信息似乎很少(即几乎没有)。
我的另一个问题涉及使用两个自定义模型绑定器的最佳方式。据我所知,没有模型绑定器链接。我有什么办法可以在没有#2 的解决方案明确了解解决方案#1 的情况下完成要求#2?需求 #2 关心获取单个值并将其拆分为字典。它真的关心 SortOrder 属性的值来自别名表单/查询参数吗?
任何帮助,将不胜感激。
谢谢你。
杰森
asp.net-mvc-3 - 绑定时在子对象上设置父属性
我们有一个形状的层次模型(yuml-ized):
Order
以及一个带有-typed 参数的控制器操作:
由于发布的表单也包含行项目的字段,我们从 MVC 的模型绑定中获取对象树,其中绑定器为每个要绑定的订单创建一个新的订单对象。
问题:是否有可能让绑定机制也将Parent
每个属性设置为它们正在添加LineItem
的对象?Order
我认为绑定Order
对象的绑定器也负责通过调用BindModel
子对象绑定器来为每个子对象执行绑定器。我们已经有了自定义实现(从 继承DefaultModelBinder
):AOrderBinder
以及LineItem
活页夹。
我们的方法如何LineItem.BindModel
确定LineItem
被绑定的是“独立”还是即将添加到Order
正在绑定的对象中,如果是后者,我们如何获得对它的引用Order
?