zoukankan      html  css  js  c++  java
  • 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的用法如果有想知道的可以联系我.

  • 相关阅读:
    redis发布订阅
    redis学习笔记(面试题)
    redis安全 (error) NOAUTH Authentication required
    HDU3001 Travelling —— 状压DP(三进制)
    POJ3616 Milking Time —— DP
    POJ3186 Treats for the Cows —— DP
    HDU1074 Doing Homework —— 状压DP
    POJ1661 Help Jimmy —— DP
    HDU1260 Tickets —— DP
    HDU1176 免费馅饼 —— DP
  • 原文地址:https://www.cnblogs.com/zsznh/p/10643210.html
Copyright © 2011-2022 走看看