ASP.NET MVC - 混合自定义和默认模型绑定

2023-12-29

我有一个类型:

public class IssueForm
{
    Order Order {get; set;}
    Item Item {get; set;}
    Range Range {get; set;}
}

由于订单和项目的要求,我创建了一个自定义模型绑定器,但范围仍然可以使用默认模型绑定器。

有没有办法从我的自定义模型绑定程序中调用默认模型绑定程序以返回 Range 对象?我想我只需要正确设置 ModelBindingContext,但我不知道如何设置。


EDIT

看看第一条评论和答案——似乎从默认模型绑定器继承可能很有用。

到目前为止,要为我的设置添加更多细节,我有:

public IssueFormModelBinder : IModelBinder
{
    public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
    {
        Order = //code to pull the OrderNumber from the context and create an Order
        Item = //code to pull the ItemNumber from the context and create an Item

        IssueForm form = IssueFormFactory.Create(Order, Item);

        form.Range = // ** I'd like to replace my code with a call to the default binder **

        return form
    }
}

这可能是一种愚蠢的做法......这是我的第一个模型活页夹。只是指出我当前的实现。


EDIT #2

因此,如果我可以像“我已完成绑定”方法一样挂载并使用属性调用 Factory 方法,则覆盖 BindProperty 的答案将起作用。

我想我真的应该看看 DefaultModelBinder 实现并停止愚蠢。


覆盖 DefaultModelBinder 中的 BindProperty:

public class CustomModelBinder:DefaultModelBinder
        {
            protected override void BindProperty( ControllerContext controllerContext, ModelBindingContext bindingContext, System.ComponentModel.PropertyDescriptor propertyDescriptor )
            {
                if (propertyDescriptor.PropertyType == typeof(Range))
                {
                    base.BindProperty(controllerContext, bindingContext, propertyDescriptor);
                }
                // bind the other properties here
            }
        }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ASP.NET MVC - 混合自定义和默认模型绑定 的相关文章

  • MVC:业务逻辑放在哪里? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 首先 我看到了很多这方面的问题 但背后的推理还不够 如果我的问题不够好并且应该被删除 我会理解 我看过 例如 this https stacko
  • 验证 asp.net mvc 中的下拉列表

    in controller ViewBag Categories categoryRepository GetAllCategories ToList in view Html DropDownList Cat new SelectList
  • 果园:自定义注册字段

    对于我的 Orchard 项目 我需要用户在注册时提供一些附加信息 说 名字 姓氏 裤子颜色 此信息必须在注册时输入 并且不能推迟到以后 根据客户的订单 我尝试使用配置文件和扩展注册插件来请求这些 但据我所知 这只为我提供了在注册表中显示的
  • 带有 viewbags 的 MVC 数据集

    如何将数据集放入视图袋中并在视图中显示结果 我有一个来自模型的数据集 并将其写入视图包 我想使用 foreach 循环从视图中的视图包中获取数据行 我已经有一个变量进入视图 所以我无法正常传递数据集 每页我还会有许多其他数据集 所以我认为
  • 如何在 ASP.NET MVC 中将 XML 文件发送到客户端

    在 ASP NET MVC 中 我有一个数据库表 我想在某个视图页面上有一个按钮 如果某个用户单击该按钮 我的应用程序将生成包含数据库中所有行的 XML 文件 然后 应将包含 XML 的文件发送到客户端 以便用户看到下载弹出窗口 同样 我希
  • asp.net mvc - Ajax 刷新视图的每个元素

    希望在退出 jquery 对话框后使用 ajax 刷新当前页面 我有一个包含 foreach 循环的视图 数据是从模型中提取的 每个循环有 2 个编辑 删除按钮 当我单击 编辑按钮 时 将打开一个 jquery UI 对话框进行编辑 当我保
  • MVC3、Ninject、MvcSiteMapProvider - 如何将依赖项注入到重写方法

    我有一个正在使用的 MVC3 应用程序Ninject http ninject org and Mvc站点地图提供者 http mvcsitemap codeplex com 我创建了此类 MvcSiteMapProvider 使用它来动态
  • 自定义身份验证中间件 - 如何检查请求是匿名还是授权?

    我正在尝试编写自己的身份验证中间件代码 在老式的 HttpModule 中 当请求 授权 页面时 我可以使用 OnAuthenticateRequest 我的中间件代码是这样的 public async Task Invoke HttpCo
  • 将 VS2015 中的 ASP.NET Identity 中的 User Id 类型更改为 int

    默认情况下 VS 2015 中的 ASP NET Identity 使用字符串作为 AspNet 表的主键 我想使用 int 类型的 id 来代替 经过一些研究后发现 框架开箱即用地支持不同类型的 ID 在下面的答案中 我将展示要实现这一目
  • 如何让实体框架初始化新创建的实体上的集合?

    我正在尝试用一些测试数据来种子我的数据库IDatabaseIntialiser像这样 protected override void Seed BlogDataContext context
  • MVVM ViewModel 与 MVC ViewModel

    ViewModel 是一个在 MVVM Model View ViewModel 和 ASP NET MVC 的推荐实现中使用的术语 鉴于每种模式都使用相同的术语 研究 ViewModel 可能会令人困惑 MVC ViewModel 和 M
  • 如何简化 ASP.NET MVC 中的全状态交错模式对话框

    我需要在多对多模式对话框中保留状态渐进增强 http en wikipedia org wiki Progressive enhancementASP NET MVC 项目中的方式 在我的代码中 当禁用 javascript 时 模式对话框
  • 使用 Linq to Entities 查询创建 null ienumerable

    我正在开发一个使用实体框架的 ASP NET MVC 项目 我需要将从数据库中提取的值投影到PropertyValue类型 如下所示 public class PropertyValue public string StringValue
  • .NET 4.7.1 中的 ASP.NET MVC 5 razor 视图中参考 netstandard 2.0 类型

    NET 4 7 1 应该解决我们在引用时遇到的问题netstandard 2 0完整框架中的库 尽管存在一些持续且令人痛苦的 dll 冲突警告和相关问题 并且需要手动更新到 PackageReferences 看看这个精彩的扩展 https
  • ASP.NET MVC运行IIS7部署问题

    我在将 ASP NET MVC 应用程序部署到 IIS7 时遇到问题 我有一个使用 ASP NET MVC Beta 1 创建的 MVC 项目 它仅包含未修改的默认模板 该应用程序在 VS2008 中运行得很好 但是当我将其发布到本地 II
  • CultureInfo 的实例(来自相同的文化)根据操作系统而变化

    我有一个网站 上面写着这样的日期 CultureInfo cultureInfo CultureInfo GetCultures CultureTypes AllCultures FirstOrDefault c gt string Equ
  • 仅为登录用户显示菜单项

    我是 ASP NET MVC 新手 正在使用该框架的 1 0 版本 我有一个 site master 页面 其中包含以下硬编码菜单 div ul li li li li li li li li ul div
  • MVC5 实体框架的问题

    我在我的 Web 应用程序中使用 Visual Studio 2013 中的 ASP NET MVC5 Entity Framework 6 我正在尝试我的模型工作 但由于某种原因而出现错误 我已经尝试过 Fluent API 和它自己的模
  • Asp.Net Mvc 无法注销

    这是我的登录代码 var expire DateTime Now AddDays 7 Create a new ticket used for authentication var ticket new FormsAuthenticatio
  • If else 在 Web 网格列中

    如何在 webgrid 列中添加条件 if else grid GetHtml tableStyle table table bordered columns grid Columns grid Column RealName Name g

随机推荐

  • NoSQL:MongoDB 或 BigTable 并不总是“可用”意味着什么

    阅读内森 赫斯特的著作NoSQL 系统视觉指南 http blog nahurst com visual guide to nosql systems 他包括CAP三角形 C一致性 A可用性 P分区容差 随着 SQL Server 成为AC
  • observablelist何时产生更新变化事件?

    我在不同条件下尝试了不同的集合 但我能够收到的所有更改都是排列 添加 删除和替换更改 在什么情况下会出现更新变化 产生此类事件需要什么基类 什么存储类以及什么操作 要生成更新事件 您必须创建一个ObservableList与提取器 http
  • 通过回调绕过 hCaptcha?

    你好 我正在尝试使用 2captcha 绕过在一个名为 stake games 的网站中绕过 hCaptcha 但它似乎不起作用 我收到了绕过代码 但是当我在 grecaptcha response 和 hcaptcha response
  • 通过覆盖旧密码插入新密码

    在 yii 中我正在创建项目 验证用户输入的电子邮件后 我显示了password php 文件 该文件具有用于输入新密码的文本字段 密码 php
  • chrome:页面源和检查元素的区别?

    Chrome 15 中 查看页面源代码 中的 html 和检查元素有什么区别 看起来像2个不同的html 查看页面源页面向您显示服务器返回的确切文本 检查元素实际上向您显示了完全渲染的DOM tree https www w3schools
  • 使用 BigDecimal 限制有效数字的任何巧妙方法

    我想对 Java 进行四舍五入BigDecimal到一定数量的有效数字 不是小数位 例如至 4 位数字 12 3456 gt 12 35 123 456 gt 123 5 123456 gt 123500 等等 基本问题是如何找到的数量级B
  • iOS HealthKit 如何保存心率(bpm)值?迅速

    使用方法 HKUnit 样本类型 单位类型 单位名称 单位字符串 心率计数 时间每分钟心跳数 计数 分钟 Swift 心率 bpm 保存到 healthkit 商店 private func saveHeartRateIntoHealthS
  • 使用阻塞长同步操作会暂停 Node.js 中的所有用户吗?

    如果我有一个 SMTP 服务器 例如haraka https github com haraka Haraka 或网络服务器 如Express https github com strongloop express 使用 Node js 并
  • JavaFX LineChart 不画圆?

    该图表显示了问题 我有 JavaFX 程序来计算数据并绘制图表 但为什么点没有正确连接 我尝试了很多事情 甚至创建了两个单独的系列 但它不起作用 public void createScatterChart final NumberAxis
  • vk.com 中使用 zend_oauth 进行身份验证时出现问题

    vk com 中使用 zend oauth 进行身份验证时出现问题 信息 HTTP 请求中出现错误 无法在 TCP 连接 oauth vk com 上启用加密 确保为环境正确设置了 sslcafile 或 sslcapath 选项 请帮帮我
  • 关于跨平台项目中网络语言互操作性的问题[已关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我计划使用 AngularJS 在 iOS Android 上创建一个应用程序和一个网站 但为了不必在每个应用程序上重写业务代码 我希望重用尽可
  • 检查日期范围(开始日期和结束日期)是否重叠

    function checkDateOverlap ranges res ranges 0 countRanges count ranges for i 0 i lt countRanges i r1s res start r1e res
  • 谷歌计算引擎工具 gcloud 非常慢

    我尝试下载并使用 gcloud bash 工具来管理我的帐户 但是我使用该工具执行的所有操作都非常慢 回复键入的命令需要几分钟的时间 我是否需要在路由器上打开防火墙或其他东西才能使其像预期的那样快速工作 例如 该视频中的 正在安装 行htt
  • React 测试 Fake XMLHttpRequest

    我正在为某人的应用程序编写一些测试代码 我是专门为 React 编写测试的新手 在组件内部的一个方法中 一个新的XMLHttpRequest对象被实例化 然后像这样使用 var myModal React createClass postR
  • UITextView 上的 beginResponder 不起作用

    由于某种原因 我无法将文本字段设置为第一响应者 我有一个包含两行的 UITableView 每行都有一个标签和一个 UITextField 文本字段标记为 kLoginRowIndex 0 和 kPasswordRowIndex 1 您可能
  • MySQL查看性能

    我有一个大约有 100 000 个用户的表 第一个案例 explain select state count as cnt from users where state ca 当我为上述查询执行解释计划时 我得到的成本为 5200 第二种情
  • 如何在不激活摄像头的情况下确定 Windows 10 上是否正在使用网络摄像头?

    在 Windows 10 上 如何确定连接的网络摄像头当前是否处于活动状态 而无需在摄像头关闭时将其打开 目前 我可以尝试使用相机拍照 如果失败 则假设相机正在使用中 但是 这意味着摄像头的活动 LED 将打开 因为摄像头正在使用 由于我想
  • 表单未提交隐藏输入

    代码中有隐藏的输入 默认情况下必须为 TRY 并且可以使用下拉框进行更改 代码 HTML div class form group div
  • 有没有办法从 Angular 的缓存中获取所有键,特别是模板缓存?

    有没有办法从 Angular 的缓存中获取所有键 特别是模板缓存 我在文档中没有看到任何有关如何执行此操作的信息 cacheFactory http docs angularjs org dev appspot com api ng 24c
  • ASP.NET MVC - 混合自定义和默认模型绑定

    我有一个类型 public class IssueForm Order Order get set Item Item get set Range Range get set 由于订单和项目的要求 我创建了一个自定义模型绑定器 但范围仍然可