使用Mono.Cecil辅助ASP.NET MVC使用dynamic类型Model

  这也是之前在珠三角技术沙龙上的示例之一,解决的是在ASP.NET MVC使用dynamic类型Model时遇到的一个真实问题。C# 4编译器支持dynamic类型,因此在编写页面模板的时候自然就可以把它作为视图的Model类型。表现层的需求很容易改变,因此dynamic类型的Model可以减少我们反复修改强类型Model的麻烦,再配合匿名类型的使用,可谓是动静相宜,如鱼得水。不过,如果把一个匿名类型直接作为Model交给视图去使用,在默认情况下会抛出异常。我们可以用Mono.Cecil来改变这一情况。

  在视图中使用dynamic类型Model

  我们先来重现这个问题。创建一个使用C# 4的ASP.NET MVC网站,添加如下的Controller,其中把匿名类型作为视图Model:

public class HomeController : Controller
{
    
public ActionResult Index(string title = "<<Default>>")
    {  
        
return View(new { Title = title });
    }
}

NET技术使用Mono.Cecil辅助ASP.NET MVC使用dynamic类型Model,转载需保留来源!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。