1、dot NET企业级项目开发模块四 系统核心信息管理模块 任务任务4-2(2)完善)完善MVC项目的数据传递项目的数据传递 北京信息职业技术学院北京信息职业技术学院主讲教师主讲教师 朱立朱立dot NET企业级项目开发dot NET企业级项目开发为什么使用视图?为什么使用视图?2.编写视图编写视图3.介绍介绍ViewPage4.使用母版页视图使用母版页视图5.用户控件用户控件6.Json数据数据dot NET企业级项目开发dot NET企业级项目开发 为什么使用视图?为什么使用视图?保证页面内容输出和控制器代码的分离保证页面内容输出和控制器代码的分离 更方便、更直观的输出页面内容的方式更方便、
2、更直观的输出页面内容的方式优点public ActionResult Index()string message=“Hello,ASP.NET MVC”;return Content(message);dot NET企业级项目开发dot NET企业级项目开发 视图的寻址视图的寻址 指定视图完整路径 public ActionResult Index()return View(“/Views/Home/Index.aspx”);public ActionResult Index()return View(“Index1”);按照指定路径查找dot NET企业级项目开发dot NET企业级项目开发
3、 视图的寻址视图的寻址 指定视图完整路径 指定视图名称 先查找相应Controller的文件夹,再查找Shared文件夹 先查找aspx文件,再查找ascx文件 dot NET企业级项目开发dot NET企业级项目开发 视图的寻址视图的寻址 不指定视图名称 默认使用动作方法名称 以ActionName的属性值为视图名称 public ActionResult ViewSth(int id)return View();ActionName(“View”)public ActionResult ViewSth(int id)return View();寻找名为ViewSth的视图寻找名为View的
4、视图dot NET企业级项目开发dot NET企业级项目开发 编写视图编写视图%Page Language=C#Inherits=System.Web.Mvc.ViewPage%HTML辅助方法基类为ViewPage或ViewPagedot NET企业级项目开发dot NET企业级项目开发 介绍介绍ViewPageViewPage ViewPage:System.Web.UI.PageViewPage:System.Web.UI.Page ViewPageViewPage专有成员专有成员主要属性主要属性说明说明HtmlHtmlHelper类型,支持呈现HtmlUrlUrlHelper类型,支持
5、呈现URLAjaxAjaxHelper类型,支持呈现Ajax相关的HtmlTempDataSession保存的临时数据,和控制器通用ViewData视图用到的数据,和控制器通用ViewContent继承自ControllerContext,能获取RouteDatadot NET企业级项目开发dot NET企业级项目开发 介绍介绍ViewPageViewPage 服务器端控件的替身服务器端控件的替身HTMLHTML辅助方法辅助方法HtmlHelperHtmlHelper的常用方法的常用方法对应的对应的HtmlHtmlBeginForm()Hidden()Password()RadioButton
6、()CheckBox()TextBox()TextArea()DropDownList()ListBox()dot NET企业级项目开发dot NET企业级项目开发 介绍介绍ViewPageViewPageHtmlHelperHtmlHelper的常用方法的常用方法对应的对应的HtmlHtmlActionLink()、RouteLink()ValidationSummary()验证汇总信息ValidationMessage()验证信息Patial()局部页面(用户控件)dot NET企业级项目开发dot NET企业级项目开发 介绍介绍ViewPageViewPage 如何如何DIY HtmlD
7、IY Html帮助方法?帮助方法?操作演示操作演示1:HtmlHelper的使的使用和方法扩展用和方法扩展 public static class InputExtensionspublic static string CheckBox(this HtmlHelper htmlHelper,string name)public static string TextBox(this HtmlHelper htmlHelper,string name)实现扩展方法实现扩展方法dot NET企业级项目开发dot NET企业级项目开发 使用母版页视图使用母版页视图 基本步骤基本步骤 创建视图母版页创建
8、视图母版页 视图母版页编码视图母版页编码 创建内容页创建内容页 内容页编码内容页编码操作演示操作演示2:如:如何使用母版页何使用母版页dot NET企业级项目开发dot NET企业级项目开发 使用母版页视图使用母版页视图 母版视图代码母版视图代码 内容视图代码内容视图代码 dot NET企业级项目开发dot NET企业级项目开发 用户控件用户控件 创建用户控件创建用户控件%Control Language=C#Inherits=System.Web.Mvc.ViewUserControl%继承自继承自UserControldot NET企业级项目开发dot NET企业级项目开发 用户控件用户控
9、件 使用用户控件使用用户控件 母版页、页面、其它用户控件母版页、页面、其它用户控件 使用使用RenderPartialRenderPartial()()呈现用户控件呈现用户控件操作演示操作演示3:创建和:创建和使用用户控件使用用户控件 用户控件名称用户控件名称dot NET企业级项目开发dot NET企业级项目开发 JsonJson数据数据 JSONJSON:JavascriptJavascript Object Notation Object Notation 轻量级的数据交换格式轻量级的数据交换格式 是是JavaScriptJavaScript语言支持的标准语言支持的标准key-0:val
10、ue-0,key-1:value-1,key-n:value-n语语法法名称名称JSONJSON对象对象值值示示例例 lang:zh_cn,name:中文dot NET企业级项目开发dot NET企业级项目开发 JsonJson数据数据 JSONJSON对象属性的值:对象属性的值:字符串字符串(String)(String)、数值、数值(number)(number)、truetrue、falsefalse、nullnull、JSONJSON对象或者数组对象或者数组 可以嵌套可以嵌套 name:”bill”,Address:city:”Washington”,country:”America”
11、dot NET企业级项目开发dot NET企业级项目开发 JsonJson数据数据JSON对象1,JSON对象2,JSON对象N语语法法数组数组对象对象dot NET企业级项目开发dot NET企业级项目开发 JsonJson数据数据 服务器端程序服务器端程序 获得要返回的对象(或对象集合)获得要返回的对象(或对象集合)转换成转换成JSONJSON格式字符串格式字符串 序列化:序列化:JavaScriptSerializerJavaScriptSerializer类类 拼接字符串拼接字符串 客户端程序客户端程序 JSONJSON格式字符串转换成格式字符串转换成JSONJSON对象:对象:eva
12、l(“(JSONeval(“(JSON字符串字符串)”)”)操作演示操作演示4:JSON数据数据dot NET企业级项目开发dot NET企业级项目开发分享交流分享交流控制器和视图的总结MVC执行机制从路由到动作方法从动作方法到输出结果(视图)动作方法的定义ActionResult和视图编写视图MVC中的母版页和用户控件dot NET企业级项目开发dot NET企业级项目开发 子任务1:为系统核心信息管理模块设计实现MVC项目数据传递子任务子任务dot NET企业级项目开发dot NET企业级项目开发知识总结知识总结1.视图的寻址2.编写视图3.介绍ViewPage4.使用母版页视图5.用户控件6.Json数据 dot NET企业级项目开发dot NET企业级项目开发 需要从传统的ASP.NET Web Forms的思路里跳出来,转而使用MVC的思路理解ASP.NET MVC。同时要逐步理解测试驱动开发的思想。dot NET企业级项目开发dot NET企业级项目开发课后作业课后作业 内容:内容:完成为系统核心信息管理模块设计实现MVC项目数据传递。要求:要求:核心信息管理功能较完善,满足系统设计要求。考核依据:考核依据:核心信息管理模块设计文档,项目代码。dot NET企业级项目开发dot NET企业级项目开发