【问题标题】:Using dynamic type as MVC model使用动态类型作为 MVC 模型
【发布时间】:2015-02-11 05:45:10
【问题描述】:

我正在尝试使用 json 作为模型,并为它创建了一个自定义视图类型:

public class BaseController : System.Web.Mvc.Controller
{
    public ViewResult UIViewResult(dynamic model)
   {

      return base.View(model);

    }
}

它正在抛出这个错误:

错误 2 对方法“View”的调用需要动态调度, 但不可能,因为它是基本访问表达式的一部分。考虑 铸造动态参数或消除基础 使用权。 C:\Users\fcamara_assuncao\Source\Workspaces\Spring\Store\05-Web\5.4-Application\Mvc\Controller\BaseController.cs 29 20 5.4-Application

构建时,如何使用动态对象作为模型?

【问题讨论】:

  • 您是否尝试过仅调用return View(model) 没有明显的价值添加base.View() 除非您有一个您不想调用的this.View()

标签: c# asp.net asp.net-mvc asp.net-mvc-4 dynamic


【解决方案1】:

我想你应该像这样在你的控制器中使用ViewBag

public class BaseController : System.Web.Mvc.Controller
{
    public ViewResult UIViewResult(dynamic model)
    {
      ViewBag = model;
      return base.View();
    }
}

然后在您的View 上使用ViewBag。我想你为什么会得到这种错误的问题是编译器不知道它应该使用View() 方法的哪个重载。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-18
    • 2018-03-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多