• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ASP.NET MVC 3 笔记

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1.   MVC设计模式

Ø  Model:是指要处理的业务代码和数据操作代码。

Ø  View:主要用于跟用户打交道,并能够展示数据。

Ø  Controller:可以看作是 Model View 的桥梁。

 

Ø  优点:

1.   可以降低 Model(业务/数据)与 View(视图)之间的耦合关系。

2.   可以复用视图(同样的数据,可以使用不同的视图展示出来)。

 

2.   MVC框架

Ø  遵循:约定大于配置。

1)   控制器:类命名以 Contoller 结尾,例如:HomeController

2)   视图:将会在 Views文件夹下生成一个与控制同名的文件夹,例如:~/View/Home

3)   Action 方法:将会在 ~/View/Home 文件夹下生成一个与 Action 方法同名的*.cshtml 文件,例如:Index.cshtml

 

3.   MVC 传值

1)   MVC 传值的方式:

1.   VeiwBag: 数据类型为 dynamic,是一个动态数据类型。其生命周期为当前Controller 下的 Action View、以及其他 View

 

2.   ViewData: 数据类型为 Syste.Web.Mvc.ViewDataDictionary<string, object>,是一个实现了 System.Collections.Generic.IDictionary<TKey, TValue> 接口的字典类型。其生命周期为当前Controller 下的 Action View、以及其他 View

注意:ViewBag ViewData 数据可以共享?

 

3.   TempData: 数据类型为 System.Web.Mvc.TempDataDictionary<string, object>,是一个实现了 System.Collections.Generic.IDictionary<TKey, TValue> 接口的字典类型。其生命周期为当前Controller 下的 Action View,以及当前会话中的其他 Action,可以跨 Controller Action

 

4.   Model: 数据类型为 System.Object 是一个 object 类型。其生命周期为当前 Controller 下的 Action View

 

5.   Session: 数据类型为 System.Web.HttpSessionStateBase, 是一个实现了 System.Collections.ICollection System.Collections.IEnumerable 接口的 object 集合类型。其生命周期为会话结束前(默认为 20 分钟),可以跨 Controller Action

 

2)   Action 与 视图

1.   视图取值时,VeiwBagViewDataTempData 都不区分大小写。

2.   使用 View() 方法指向其他 View 时,VeiwBagViewDataSession 可以取到值, 而 TempData 则取不到。

 

3)   Action Action

1.   Action取值时, TempData 不区分大小写。

2.   使用 RedirectToAction() 方法跳转其他 Controller Action 时,TempDataSession 可以取到值,而 VeiwBagViewData 则取不到。

 

4.   MVC 视图基类

Ø  视图基类 WebPage,声明如下:

public abstract class WebPage : WebPageBase

{

    protected WebPage();

    public override HttpContextBase Context { get; set; }

    public HtmlHelper Html { get; }

    [Dynamic]

    public dynamic Model { get; }

    public ModelStateDictionary ModelState {


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
asp.net备份和恢复SQLSERVER数据库发布时间:2022-07-10
下一篇:
asp.net推送发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap