初识《MVC》

    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显示出来。里面用到的知识点不少,一点点的积累吧!


评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值