1. 程式人生 > >MVC中控制器向視圖傳值的四種方式

MVC中控制器向視圖傳值的四種方式

eba 聯系 () 視圖傳值 傳值方式 lec class 籃球 data

MVC中的控制器向視圖傳值有四種方式分別是

1 ViewDate 2.ViewBag 3.TempDate 4.Model

下面分別介紹四種傳值方式

首先先顯示出控制器中的代碼

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace WebApplication1.Controllers
{
    public class DefaultController : Controller
    {
        
// GET: Default /// <summary> /// 1、提供視圖模型對象 /// </summary> /// <returns></returns> public ActionResult Index() { DateTime date = DateTime.Now;//一個對象作為View方法的參數傳遞給視圖 return View(date); } /// <summary>
/// 2、使用ViewBag(視圖包)傳遞數據 /// </summary> /// <returns></returns> public ActionResult Edit() { //ViewBag 允許在一個動態的對象上定義任意屬性,並在視圖中訪問它.這個動態的對象可以通過Controller.ViewBag屬性訪問它. ViewBag.Name = "名字代號"; ViewBag.Age = "22"; ViewBag.Hobby
= "打籃球,打羽毛球等"; ViewBag.StrDate = DateTime.Now; return View(); } /// <summary> /// 3、 使用View Data傳遞數據 /// </summary> /// <returns></returns> public ActionResult Detail() { //在MVC3.0之前,主要是通過這種方式傳遞數據,它是通過用 ViewDataDictionary類實現的,而不是動態的對象. //ViewDataDictionary類是類似標準"鍵/值"集合,並通過Controller類的ViewData屬性進行訪問的.這個方法,在視圖中需要對對象進行轉換. ViewData["Message"] = "Hello,World !"; ViewData["Date"] = DateTime.Now; return View(); } //使用TempDate來傳遞數據 public ActionResult tempdates() { //TempData 他和viewdate的用法差不多但是他比viewdate的好處是他可以做到誇不同頁面之間的傳值 TempData["Message"] = "名字信息"; TempData["Age"] = "55"; TempData["Hobby"] = "打籃球,打羽毛球等"; TempData["Timess"] = DateTime.Now; return View(); } } }

這個是第一個控制器中的方法傳遞的數據

 <div> 
       
        @{ 
            ViewBag.Title = "Index";
        }
        <h1>當前時間</h1>
        <h2>@(((DateTime)Model).Date)</h2>
        <h2>@(((DateTime)Model).DayOfYear)</h2><br />
    </div>

resault:

當前時間

2019/4/2 0:00:00

92

1.使用ViewBag

 <div>
        @{ ViewBag.Title = "Edit"}
        <h1>@ViewBag.Name</h1>
        <h2>@ViewBag.Name</h2>
        <h2>@ViewBag.Age</h2>
        <h2>@ViewBag.Hobby</h2>
        <h2>@ViewBag.StrDate</h2>
    </div>

resault:

名字代號
22
打籃球,打羽毛球等

2019/4/2 15:59:26

2.View Data的用法

 <div>
        @{
            ViewBag.Title = "Detail";
        }
        <h2>@ViewData["Date"]</h2>
        <h2>@ViewData["Message"]</h2>
        <h2>@view</h2>
    </div>

resault:

hello World

2019/4/2 15:59:26

3.TempData的用法

 <div>
        @{ ViewBag.Ttle = "tempdates";}

        <h1>@TempData["Message"]</h1>
        <h1>@TempData["Age"] = </h1>
        <h1>@TempData["Hobby"] </h1>
        <h1>@TempData["Timess"]</h1>
       

    </div>

resault:

名字代號
22
打籃球,打羽毛球等

2019/4/2 15:59:26

4,model的用法如果有想知道的可以聯系我.

MVC中控制器向視圖傳值的四種方式