分享

成功MVC控制器向视图传值的4种方法

 北方天空A 2020-06-17

控制器:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.Mvc;

namespace templates.Views.test2

{

    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.Name = "张三";

            ViewBag.Age = "46";

            ViewBag.Hobby = "运动,下象棋";

            return View();

        }

        /// <summary>

        /// 3、 使用View Data传递数据

        /// </summary>

        /// <returns></returns>

        public ActionResult add()

        {

            ViewData["Message"] = "大家好";

            ViewData["Date"] = DateTime.Now;

            return View();

        }

        //使用TempDate来传递数据

        public ActionResult detail()

        {

            //TempData 他和viewdate的用法差不多但是他比viewdate的好处是他可以做到夸不同页面之间的传值

            TempData["Message"] = "名字信息";

            TempData["Age"] = "55";

            TempData["Hobby"] = "打篮球,打羽毛球等";

            TempData["Date"] = DateTime.Now;

            return View();

        }

}

}

视图:

添加页面:

@{

    ViewBag.Title = "add";

}

<h2>add</h2>

<div>

    the day is:@(((DateTime)ViewData["Date"]).ToString("yyyy-MM-dd"))

    <br />

    消息:@(ViewData["Message"]+"")

</div>

修改页面:
@{

    ViewBag.Title = "Edit";

}

<h2>Edit</h2>

<div>

    名字:@ViewBag.Name

    年龄:@ViewBag.Age

    爱好:@ViewBag.Hobby

</div>

首页:

@{

    ViewBag.Title = "Index";

}

<h2>Index</h2>

<div>

    the day is:@(((DateTime)Model).ToString("yyyy-MM-dd"))

</div>

详细页面:

@{

    ViewBag.Title = "detail";

}

<h2>detail</h2>

<div>

    详细页面日期:@(((DateTime)TempData["Date"]).ToString("yyyy-MM-dd"))

    <br />

    消息:@(TempData["Message"] + "")

</div>

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多