MVC4学习-View(0)

  在MVC框架中,View用来封装呈现逻辑,渲染相应的用户接口界面。视图不应该包含任何业务逻辑代码,所有业务逻辑都应该通过控制器交付给模型来进行处理,视图使用从控制器传递给它的数据来呈现相应的用户接口界面。

  1.视图的创建

  可以直接在Views文件夹下创建视图,也可以直接为行为方法创建视图。

  2.理解视图

  在MVC框架中,视图只负责向用户渲染界面,不进行任何数据的处理,而是将数据的处理交付给Controller和Model.

  2.1从Controller获取数据,使用Controller类提供的两个属性ViewData,ViewBag,前者使用键值对的形式传递数据(ViewData["key"]=value;),后者采用动态属性的方式传递数据(ViewBag.key=value;)。

  2.2为View指定强类型,可以在创建视图时的对话框中指定类型,也可在页面上通过Razor语法指定(@model Model/<Model>)。

  2.3视图页面(*.cshtml)是ViewPage类,继承自Page类,它提供将视图呈现为Web窗体页所需要的属性和方法。除了从Page继承的属性外,还有以下属性:

Ajax,Html,MasterLocation,Model,TempData,Url,ViewBag,ViewContext,ViewData,Writer。具体含义请参考msdn。

  2.4视图引擎

  默认情况下,VS提供了两种视图引擎:Razor引擎(MVC3开始引入,语法挺优雅);ASPX引擎(也叫Web表单视图引擎,使用ASP.NET Web表单的语法)。

  视图引擎由IView,IViewEngine和ViewEngineResult三者组合构成,利用这三个接口,可以实现自定义的视图引擎。至于这三个接口的定义请参考msdn,顺带一句,如果要使用定制的视图引擎,可以在Global.asax的Application_Start()方法中对其进行注册(ViewEngines.Engines.Add(new yourViewEngine());)。自定义视图引擎属于比较高级的主题,笔者也是在摸索当中。。。先吃个晚饭,,马上回来。。。

 

你可能感兴趣的:(MVC4学习-View(0))