标签:
在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());)。自定义视图引擎属于比较高级的主题,笔者也是在摸索当中。。。先吃个晚饭,,马上回来。。。
标签:
原文地址:http://www.cnblogs.com/Lightmen/p/4945761.html