毕业后对MVC的定义还并不是很清楚,总感觉MVC是和三层一样的,是同一等级的构架。其实不是,三层架构是:BLL(领域模型层),DAL(数据库查询浏览层),UI(网页页面显示信息层),而MVC只是是归属于三层架构UI层。可以说MVC便是为了更好地更强的展现数据信息,假如把三层架构比成一个详细的人,那麼MVC就是这个人的脸,用于展现东西。说这么多便是给刚触碰MVC的人从定义上搞清楚MVC是个哪些东西,便是一种核心理念,一种展现数据信息的方式。

  说到MVC不得不承认很久以前拖拖拉拉控制的时期,微软公司开发设计了Windows系统软件让小白就能触碰电脑上这种新科技产品,促使个人普通用户用图形界面页面更换掉之前Linux黑对话框的时期,不得不承认微软公司成功了。之后,微软公司觉得把个人普通用户变为小白不舒服,妄图把开发者也变为小白,发布了WebForm,我觉得这类念头非常好,很超前的,很有可能在好多年以后就沒有大家这种“程序猿”了仅有设计方案。可是放进如今還是不太实际,刚发布的情况下觉得很奇特就科学研究了下,施拉拽觉得很过瘾,但是那时应用WebForm的公司死的非常惨,由于就网页页面掩藏域藏得这些东西仙人都不清楚是什么玩意,而且特性也是差的不得了的,結果迅速的去世了(从微软公司刚公布的.net core不兼容WebForm就可以看得出微软公司舍弃把程序猿变为小白了)

  大破冲霄楼,聊一聊MVC把,M(model),V(view),C(control)。model是control和view中间根据实体线传送数据,control回到一个主视图view能够根据model(实体线)传送。view的强种类网页页面就可以根据在control中的方式中return view(model) 来让view能够根据Model来个出去要传送的数据信息。假如把model关联到input的value上便会依据model有木有数据信息来显示信息要改动该的网页页面。

  在每一个action上都要有return一个承继自JsonResult的目标,在其中包含最普遍的 ViewResult(return View())主视图、JsonResult(return Json())json字符串数组、ContentResult(return Content())原状輸出 等。

 

control和view中间除开这类强种类传递数据以外也有此外三种方式来传递数据

以下所显示:

1.应用ViewData传递数据

我们在Controller中界定以下(种类是ViewDataDictionary,能够看得出这一方法合适传送键值对):

ViewData[“Message_ViewData”] = “ Hello ViewData!”; 

随后在View中载入Controller中界定的ViewData数据信息,编码以下:

@Html.Encode(ViewData["Message_ViewData"]) 

js中载入ViewData中数据以下:

<pre name="code" class="javascript"><script type="text/javascript">  
    var viewData = '@ViewData["Message_ViewData"]';  
</script> 

2.应用ViewBag传递数据

我们在Controller中界定以下(其种类是dynamic能够动态性的加上其种类,构造也越来越多元化):

ViewBag.Message_ViewBag =  “ Hello ViewBag !”;  

随后在View中载入Controller中界定的ViewBag数据信息,编码以下:

@Html.Encode(ViewBag.Message_ViewBag)

js中载入ViewBag中数据以下:

<script type="text/javascript">  
    var viewBag= '@ViewBag.Message_ViewBag';  
</script> 

3.应用TempData传递数据

我们在Controller中界定以下(其种类是TempDataDictionary,也是合适传送键值对,可是这类传递数据的方法有一种特性,便是只有存有2次http要求,要是取下来便会消毁,历经研究发现其原来是把数据信息存到session中,取下一次后便会全自动把session消毁):

TempData[“Message”] = “Hello word!”; 

随后在View中载入Controller中界定的TempData数据信息,编码以下:

@Html.Encode(TempData["Message_TempData"]) 

js中载入TempData中数据以下:

<script type="text/javascript">  
     var tempData = '@TempData["Message"]';  
</script>