客户端什么格式的响应文件。
控制器可以利用视图模板文件来生成 HTML 格式的响应文件并显示在浏览器中。
控制器类负责提供视图模板文件在生成 HTML 格式的响应文件时所需要的任何数据或对象。
一个视图模板文件不应该执行任何业务逻辑,也不应该直接和数据库进行交互。
它只能和控制器类进行交互,获取控制器类所提供给它的数据,这样可以使你的代码更加清晰,容易维护。
现在在我们的应用程序中,HelloWorldController 控制器类中的 Welcome 方法带有两个参数—name 与 numTimesWelcome 方法直接向浏览器输出这两个参数的参数值。
这里,我们修改该方法使其不再直接输出数据,而是使用一个视图模板。
该视图模板将生成一个动态的响应流,这意味着我们需要将数据从控制器类传递给视图以便利用该数据来生成该响应流。
我们在该控制器类中将视图模板所需要的数据送入一个 ViewBag 对象中,该对象可以被视图模板直接接收。
打开 HelloWorldController.cs 文件,修改 Welcome 方法,在该方法中为 ViewBag 对象添加一个 Message 属性与 NumTimes 属性,并且将属性值分别设定为经过处理后的 name 参数值与 numTimes 参数值。
ViewBag 对象是一个动态对象,你可以为它添加任何属性并赋上属性值。
在未赋值之前该属性是不生效的,直到你赋值为止。
修改后的 HelloWorldController.cs文件中的代码如代码清单 3-4 所示。
代码清单 3-4 修改后的 HelloWorldController.cs 文件 using System.Web using System.Web.Mvc namespace MvcMovie.Controllers public class HelloWorldController : Controller // // GET: /HelloWorld/ public ActionResult Index return View // // GET: /HelloWorld/Welcome/ public ActionResult Welcomestring name int numTimes 1 ViewBag.Message quotHello quot name ViewBag.NumTimes numTimes return View 现在 ViewBag 对象中已经包含了数据,它将被自动传递给视图。
接下来,我们需要创建一个 Welcome 视图模板。
在“调试”菜单中,点击“生成 MvcMovie”将应用程序进行编译,如图 3-8 所示。
图 3-8 编译应用程序 接下来,在 Welcome 方法中点击鼠标右键,然后点击“添加视图”,弹出对话框如图 3-9所示。
图 3-9 为 Welcome 方法添加视图 在该对话框中不做任何修改,直接点击添加按钮 View 文件夹下的 HelloWorld 文件夹中自动被创建了一个 Welcome.cshtml 文件,打开该文件,在lth2gt元素下添加代码,让浏览器 显示次数等于 URL 地址中传入的 numTimes显示 URL 地址中传入的 name 参数中设定的文字,参数中设定的次数。
修改后的 Welcome.cshtml 文件中的代码如代码清单 3-5 所示。
代码清单 3-5 修改后的 Welcome.cshtml 文件 ViewBag.Title quotWelcomequot lth2gtWelcomelt/h2gt ltulgt for int i 0 i lt ViewBag.NumTimes i ltligtViewBag.Messagelt/ligt lt/ulgt 运行应用程序,并且在地址栏中输入“http://localhost:xx/HelloWorld/WelcomenameScottampnumtimes4”,该地址栏中的页面参数将会自动传递给控制器。
控制器将会把这些参数值放入 ViewBag 对象中并且传递给视图。
视图再在浏览器中显示这些数据。
图 3-10 视图中显示从控制器类中传递过来的数据 这里,我们使用了模型“M”的一种方式,但是不是数据库的方式。
在下一节中,我们将创建一个数据库,并且介绍如何对该数据库中的数据进行处理。
第四节 添加一个模型 在本节中我们将追加一些类来管理数据库中的电影。
这些类将成为我们的 MVC 应用程序中的“模型”部分。
我们将使用一个.NET Framework 的被称之为“Entity Framework”的数据访问技术来定义这些模型类,并使用这些类来进行操作。
Entity Framework(通常被简称为“EF”)支持一个被称之为“code-first”的开发范例。
Code-first 允许你通过书写一些简单的类来创建模型对象。
你可以通过访问这些类的方式来访问数据库,这是一种非常方便快捷的开发模式。
4.1 利.
上一篇:
【精品】贵州航天职业技术学院ASP程序设计课程设计报告
下一篇:
心力衰竭的中医证素及常见证型