1、视图的基本概念
首先明确的的是,大部分的控制器操作需要以html格式动态的显示信息。如果控制器,如果控制器操作仅仅返回字符串,那么就需要有大量的字符串替换操作,这样就会变得混乱不堪。此时,视图应运而生。
常用的情况是,控制器需要向视图提供一些信息,所以会发生数据转移对象,叫做模型。视图将这个模型转化为一种适合显示给用户的格式。完成这一过程,分俩部分,其中一个是检查由控制器提交的模型对象,另一个是将其内容转换为html格式。
备注:视图也可以渲染成其他类型的内容,例如XML、Json、图像等等。
2、创建视图
后台控制器的定义:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace MvcMusicStore.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult About()
{
ViewBag.Message = "Your application description page.";
return View();
}
public ActionResult Contact()
{
ViewBag.Message = "Your contact page.";
return View();
}
}
}</span>
前台.cshtml文件
@{
ViewBag.Title = "About";
}
<h2>@ViewBag.Title.</h2>
<h3>@ViewBag.Message</h3>
<p>Use this area to provide additional information.</p></span>
这个视图很简单,他将页面都标题设置为ViewBag.Title,然后在标题标签中显示ViewBag.Title,ViewBag.Message。
运行结果:
HomeController 的about方法,渲染了About视图,也就是将前一个视图的HTM内容封装到由站点布局提供的页面Header和Footer部分得到的结果。
这里使用了ViewBag传递少量数据,.cshtml文件中的@符号是razor语法,他告诉Razor引擎,接下来的字符是代码而不是HTML文本。