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
     }
複製代碼
相關文章
相關標籤/搜索