日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

ASP.NET MVC 5 学习教程:控制器传递数据给视图

發布時間:2023/12/13 asp.net 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ASP.NET MVC 5 学习教程:控制器传递数据给视图 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

起飛網 ASP.NET MVC 5 學習教程目錄:

  • 添加控制器
  • 添加視圖
  • 修改視圖和布局頁
  • 控制器傳遞數據給視圖
  • 添加模型
  • 創建連接字符串
  • 通過控制器訪問模型的數據
  • 生成的代碼詳解
  • 使用 SQL Server LocalDB
  • Edit方法和Edit視圖詳解
  • 添加查詢
  • Entity Framework 數據遷移之添加字段
  • 添加驗證
  • Details 和 Delete 方法詳解

在討論數據庫和模型之前,讓我們先說說容控制器傳遞數據給視圖。控制器類在響應傳入的請求時被調用,控制器類是你寫代碼處理瀏覽器請求、從數據庫中檢索數據、并最終決定發送什么類型的響應給瀏覽器。視圖模板被控制器用來生成和格式化HTML響應給瀏覽器。

控制器的責任是為視圖模板提供必須的數據或對象,用來繪制HTML響應瀏覽器。一個最佳實踐是:視圖模板從來不參與業務邏輯,或直接與數據庫交互。相反的,視圖模板僅與控制器提供的數據一起工作。保持這種“關注點分離(separation of concerns)”有助于保持代碼的整潔,可測試性和更容易維護。

目前,HelloWorldController 類中的 Welcome 方法需要兩個參數:name 和 numTimes,然后直接與將值輸出給瀏覽器。讓我們修改控制器,使用視圖來替換直接相應string字符串。視圖模板會生成一個動態響應,這意味著你需要通過控制器傳遞一些數據用來生成響應。要做到這些,你需要通過在控制器中將數據(參數)放到ViewBag對象中,視圖可以訪問ViewBag對象。

回到 HelloWorldController.cs? 文件中,修改Welcome方法,在ViewBag對象中添加一個Message和NumTimes值。ViewBag是dynamic 類型的對象,你可以為它添加任何你想要的數據,ViewBag對象在你添加數據之前,不具有任何屬性。ASP.NET MVC 模型綁定系統從地址參數中自動映射命名的參數(name 和 numTimes)到方法中。完整的HelloWorldController.cs文件如下:

代碼清單1:HelloWorldController.cs文件

using System.Web; using System.Web.Mvc;namespace MvcMovie.Controllers {public class HelloWorldController : Controller{public ActionResult Index(){return View();}public ActionResult Welcome(string name, int numTimes = 1){ViewBag.Message = "Hello " + name;ViewBag.NumTimes = numTimes;return View();}} }

現在ViewBag對象已經包含了數據,它會被自動傳遞給視圖。

接下來,你需要一個Welcome視圖模板。在生成菜單中,選擇生成解決方案(或使用快捷鍵 CTRL+SHIFT+B)確定項目已經編譯了。

在Views\HelloWorld 文件夾右鍵,選擇“添加”>“支架”:

圖1:添加視圖菜單

在添加支架對話框中,選擇“MVC 5 View - Empty without model”。

圖2:添加支架對話框

在Add View對話框中,將視圖命名為Welcome

圖3:Add View對話框

文件MvcMovie\Views\HelloWorld\Welcome.cshtml? 已經創建好了。

在文件Welcome.cshtml? 的<h2>元素下添加如下的代碼,完整的代碼如下:

@{ ViewBag.Title = "Welcome"; }<h2>Welcome</h2><ul>@for (int i = 0; i < ViewBag.NumTimes; i++){<li>@ViewBag.Message</li>} </ul>

運行應用程序,在瀏覽器中查看如下地址:

http://localhost:xx/HelloWorld/Welcome?name=Scott&numtimes=4

現在數據從URL取出來,通過模型綁定傳遞給控制器,控制器將數據封裝在ViewBag對象中,傳遞給視圖,然后視圖將數據以HTML的方式呈現給用戶。

圖4:Welcome視圖

在上面的例子中,我們使用ViewBag對象將數據從控制器傳遞給視圖。在家下來的章節中,我們會使用視圖模型來傳遞數據。使用視圖模型傳遞數據比用ViewBag要好得多。

這也是模型“M”的一種,但并沒有使用數據庫。我們接下來要學習的是創建一個數據庫,創建一個真正意義的視圖模型。

本文轉自起飛網,原文地址:http://www.qeefee.com/mvc/mvc-5-passing-data-from-the-controller-to-the-view

轉載于:https://www.cnblogs.com/youring2/p/mvc-5-passing-data-from-the-controller-to-the-view.html

總結

以上是生活随笔為你收集整理的ASP.NET MVC 5 学习教程:控制器传递数据给视图的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。