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


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的用法如果有想知道的可以聯系我.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM