首页 > Web开发 > 详细

MVC数据绑定

时间:2020-06-15 15:34:27      阅读:28      评论:0      收藏:0      [点我收藏+]

参考网址:https://www.cnblogs.com/duanjt/p/10701352.html

1.1 ViewData

很简单的传值方式,相当于有一个字典存储,控制器使用方法:

 技术分享图片

页面使用方式:

 技术分享图片

最终效果:

技术分享图片

 

1.2 ViewBag

ViewBag就是一个dynamic对象,同时里面的内容和ViewData是同一个字典,也就是说ViewBag和ViewData的键会覆盖。

控制器:

 技术分享图片

页面:

技术分享图片

最终效果:

 技术分享图片

1.3 TempData

  1. TempData和ViewData的用法一样。
  2. TempData和ViewData的内容不冲突,分别是两个字典。
  3. TempData是基于Session传递的,所以如果没有引入Session将失效。
  4. 如果存在页面跳转,TempData有效,其它的无效。

            技术分享图片

 

1.4 Model

Model方式需要在返回View的时候指明,同时在页面顶部需要定义,然后页面就可以通过@Model进行使用了。

控制器:

 技术分享图片

页面:

 技术分享图片

最终效果:

技术分享图片

 

 

示例代码:

Controller:

public class MyIndexController : Controller
    {
        // GET: MyIndex
        public ActionResult Index()
        {
            //很简单的传值方式,相当于有一个字典存储
            ViewData["Name1"] = "Name1";

            //ViewBag就是一个dynamic对象,同时里面的内容和ViewData是同一个字典,
            //也就是说ViewBag和ViewData的键会覆盖
            ViewBag.Name2 = "Name2";
            /*
             *  TempData和ViewData的用法一样。
             *  TempData和ViewData的内容不冲突,分别是两个字典。
             *  TempData是基于Session传递的,所以如果没有引入Session将失效。
             *  如果存在页面跳转,TempData有效,其它的无效。
             */
            TempData.Add("Name2","Name2-2");

            Students s = new Students { Name="S1",Age="18" };

            return View(s);
            //return Redirect("新的路由地址");
        }

        
    }

    public class Students
    {
        public string Name { get; set; }
        public string Age { get; set; }
    }

前端view:

@model CoreWeb1.Controllers.Students;//指明引用的类
@{
    ViewData["Title"] = "Index";
}

<h1>Index</h1>
<h2>@ViewData["Name1"]</h2>
<h2>@ViewBag.Name2</h2>
<h2>@TempData["Name2"]</h2>
<br />
<h2>@Model.Name</h2>
<h2>@Model.Age</h2>

效果:

技术分享图片

 

MVC数据绑定

原文:https://www.cnblogs.com/qiupiaohujie/p/13131010.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!