【问题标题】:Bind/map response to more than one object将响应绑定/映射到多个对象
【发布时间】:2013-05-23 11:46:47
【问题描述】:

我是 MVC 的新手。我有一个控制器 ActionResult ,它有来自各方的各种传入请求。我想让这个 ActionResult 弄清楚它是什么类型的请求,验证它,并执行几个 RedirectToAction。

我的问题是,虽然我知道如何将单个模型/对象绑定到 ActionResult 并让框架自动将请求中的变量映射到该模型的属性,但我不知道如何实现相同的“自动映射”当我需要将相同的请求映射到在单个 ActionResult 中彼此完全分离的多个模型时的功能。在我映射它们并通过检查模型的属性是否不为空来验证它们之前,我无法确定请求中包含哪些模型。

有什么想法吗?

【问题讨论】:

    标签: asp.net asp.net-mvc


    【解决方案1】:

    您真的应该创建不同的操作。由于传入的模型不同,因此您无法将它们绑定到相同的操作。

    当然,您可以做的是创建不同的操作方法,然后从那里调用一个包含所有逻辑的方法

    【讨论】:

    • 问题是,是否使用不同的动作并不取决于我。我正在替换旧系统,其中有各种不同的 POST 和 GET 请求发送到同一个 url。换句话说,在我解析请求并弄清楚之前,我不知道将什么发送到同一个操作。
    【解决方案2】:

    如果您可以访问不同的模型类,您可以创建一个它们实现的接口,并将该接口用作您的控制器方法中的模型类型。

    然后您可以创建一个自定义模型绑定器并在那里检查属性。

    【讨论】:

      猜你喜欢
      • 2016-06-18
      • 2020-08-08
      • 2019-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-30
      • 2014-01-21
      相关资源
      最近更新 更多