MVC基础知识整理(一)

MVC是一种轻量级的替代方案。轻量级的,可测试性高的框架,拥有ASP.NET全部已知的特性,好比母版页、安全性和认证。

1、MVC是对Web Form的一种轻量级的替代方案

  • 俩者的本质是请求Url不一样,MVC是将请求交给控制器处理,而Web Form是将请求交给请求页的后台文件(.cs文件的Page_load)处理。
  • MVC更方便,效率更高

2、MVC的请求流机制

  • 首先获取控制器;
  • 接着依赖行为控制器建立Model对象,Model经过转换调用数据访问层;
  • 最后数据填充Model后,传递到View显示层,实现显示目的。

3、命名规范

  • Controllers: 控制器建立的控制器必须以Controller结尾,控制器里有若干行为(方法)控制相应的页面,相应的操做;
  • View: 控制器HomeController建立后,View层会自动建立对应Home文件夹,来存放相对行为的视图;
  • Model:视图模型,以ViewModel结尾,例如:HomeViewModel,也叫业务模型,与数据访问层的数据模型经行交互,返回用户所须要的数据

4、如何获取页面传过来的参数值

  • ?号传参
location.href ="Index?id="+id
复制代码
public ActionResuLt Index(string id)
    
    {
        string id = Request["id"].toString();//get post
        string id = Request.QueryString["id"];//get
        string id = Request.Files["id"].ToString();
    }
复制代码
  • 路由传参
location.href ="Index/id"
复制代码
public ActionResuLt Index(string id)
    
    {
        string id =RoutoData.Values["id"]//get post
    }
复制代码

5、返回视图

public ActionResult Index()
    {
        return View();//返回默认的视图,即和方法名同样的View视图
        return View("Show")//返回在同一视图文件夹下的Show视图
        return VIew("`/Views/Shop/ShopList")//返回指定路径的视图
    }
复制代码

6、Razor语法

  • 对于Razor语法,特别的简单,就是使用@符号便可。在@后面编写C#代码便可

7、从后台设定值,并在页面显示

public ActionResult Index()//后台
    {
        ViewBag.name = "张三"
        list <Users> lis = new list<Users>();
        lis.Add(new Users{id=1,name="小花"});
        lis.Add(new Users{id=1,name="小草"});
        ViewBag.list = lis;
        //另外一种像视图传递Model
        retrun View(lis);
    }
复制代码
HTML//前台
    @ViewBag.name
    
    @foreach(var item in @ViewBag.list)
    {
        @item.id+@item.name;
    }
     //另外一种像视图传递Model
    @model IEnumerable<UI.Models.UsersModel>
    @foreach (var item in Model)
     {
         @item.id+@item.pwd
     }
复制代码
相关文章
相关标签/搜索