MVC控制器向View視圖傳值的三種方法


首先創建一個MVC的項目,其中需要一個控制器(TestController),三個視圖(index,edit,detail)

1、項目結構如下:

 

2、控制器向視圖傳值的三種方法

1)提供視圖模型對象(直接把對象放在View里面)

2)通過VewBag傳遞數據

3)通過ViewData傳遞數據

 

3、控制器源碼如下:

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

namespace MVCTest.Controllers
{
    public class TestController : Controller
    {  
        /// <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 = "21";
            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,EveryOne!";
            ViewData["Date"] = DateTime.Now;
            return View();
        }
    }
}


4、視圖的調用

1)index視圖

2)edit視圖

3)detail視圖

5、頁面的顯示效果

1)index頁面

2)edit頁面

3)detail頁面

Ps: 視圖向控制器傳值,一般是通過ajax請求控制器的方法,請求是將參數帶到控制器方法參數里面


免責聲明!

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



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