0
点赞
收藏
分享

微信扫一扫

Lua语法(六)——面相对象编程

勇敢的趙迦禾 16小时前 阅读 1

1.MVC中的TempData\ViewBag\ViewData区别?

        TempData  保存在Session中,Controller每次执⾏请求的时候,会从Session中先获取 TempData, ⽽后清除Session,获取完TempData数据,虽然保存在内部字典对象中,但是其集合中的每个条⽬访问 ⼀次后就从字典表中删除,ViewData存的是Key/Value字典,使⽤时需要类型转换。

        ViewBag和ViewData只在当前Action中有效,等同于View,ViewBag⽐ViewData慢,ViewBag存 dynamic类型数据,使⽤时不需要类型转换。

        ViewData和ViewBag 中的值可以互相访问,因为ViewBag的实现中包含了ViewData,ViewData存是Key/Value字典,使⽤时需要类型转换。

2.阐述下MVC框架的机制,各个模块的作⽤?

  • 所谓模型,就是MVC需要提供的数据源,负责数据的访问和维护。
  • 所谓视图,就是⽤于显示模型中数据的⽤户界⾯
  • 所谓控制器,就是⽤来处理⽤户的输⼊,负责改变模型的状态并选择适当的视图来显示模型的数据。

3.ASP.NET和ASP.NET MVC的关系?

 ASP.NET MVC是在核⼼ASP.NET基础之上构建的,从mvc命名空间System.Web.Mvc就能看出,因为 System.Web是Asp.NET的核⼼命名空间。

⽐如ASP.NET MVC依赖于HttpHandler,关于请求是怎么进⼊控制器的,其实就是⽤到了HttpHandler Session、Cookie、Cache和Application这些ASP.NET的对象保存机制在MVC中依然是需要⽤到的。

HttpContext、Request、Response、Server对象在MVC中仍然可以使⽤,在Controller中通过智能感 知的形式很容易得到这些对象。

4. MVC对ASP.NET好处在哪⾥?

提供⾮常清晰的成绩管理,像ui层,也就是view, 数据层model和管理层controller。

单元测试⽐较容易。

改善了数据模型和视图的重⽤性。

代码的结构更加优化。  

5.什么是razor view engine?

这个引擎提供了数据绑定的显示模板。

@model MvcStore.Models.Customer
@{ViewBag.Title="Get Customers";}
<div class="cust"><h3><em>@Model.CustomerName</em></h3></div>

6.view bag 和 view data之间的区别是什么?

  • view bag是view data的⼀个扩展。扩展以后可以创建动态的属性。这样的好处有:
  • 不需要进⾏类型的转换。
  • 我们可以使⽤dynamic关键字。
  • 但是有⼀个缺点就是view bag要⽐view data
举报

相关推荐

0 条评论