您的位置:首页 > 其它

初识《MVC》

2016-01-15 16:41 351 查看
   
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

    一、MVC简介

    MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。

   二、代码小例子

   创建一个MVC的应用程序,在应用程序里面,分别创建Dog类,HomeController、还有一个Index视图。Dog类代码如下所示

public class Dog
{
public int ID { get; set; }
public string Name { get; set; }

public override string ToString()
{
return "ID=" + this.ID + ",Name=" + this.Name;
}
}


     HomeController代码
public class HomeController : Controller
{
List<Models.Dog> list = null;
#region 初始化数据集合 +InitData()
/// <summary>
/// 初始化数据集合
/// </summary>
public List<Models.Dog> InitData()
{
list = new List<Models.Dog>(){
new Dog(){ID=1,Name="哇哈哈!!"},//属性初始化器
new Dog(){ID=2,Name="哇哈哈2!"},
new Dog(){ID=3,Name="哇哈哈3!"}
};
return list;
}
#endregion

public ActionResult Index()
{
//准备一个HTML代码的容器
System.Text.StringBuilder sbHtml = new System.Text.StringBuilder(4000);

//创建一个数据集合并且获取数据
List<Models.Dog> list = InitData();
//遍历集合 生成HTML代码 ,存入sbHTML
list.ForEach(d =>
{
sbHtml.AppendLine("<div>" + d.ToString() + "<div/>");
});
//使用ViewBag传输数据给同名Index.cshtml 视图
//ViewBag是一个dynamic类型集合,可以动态添加任意名称的属性和值
ViewBag.HtmlStr = sbHtml.ToString();
//加载同名视图  index.cshtml
return View();
}

}

    视图中的代码

@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<title>Index</title>
</head>
<body>
@*相当于把 Action 方法中 保存的内容放在此处输出*@
@Html.Raw(ViewBag.HtmlStr)
</body>
</html>


输出效果

    


    三、小结

    刚刚学习MVC,简单的了解一下Model View  Controller之间的关系,简单的理解了在View中获取Controller数据的,我觉得上面代码的精华部分在于创建了一个HTML代码的容器,这个容器将从后台传送过来的数据装进去,然后在传送给View显示出来。里面用到的知识点不少,一点点的积累吧!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: