使用动态类型作为MVC模型

时间:2014-12-12 13:41:14

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

我正在尝试使用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

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

1 个答案:

答案 0 :(得分:0)

我想您应该在控制器中使用ViewBag,如下所示:

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

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