zoukankan      html  css  js  c++  java
  • MVC数据绑定

    参考网址: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>

    效果:

  • 相关阅读:
    shell中标准输出,标准输入,标准错误输出详解
    shell 脚本 编辑颜色代码
    Docker容器:磁盘&内存&CPU资源限制实战
    Linux crontab 详解
    vsftp虚拟用户
    学习kail linux 几个不错的网站
    多线程协作方法sleep、yield、wait、join和同步和安全等问题
    Redis 命令参考
    JVM的内存区域划分(网上找的)
    工业软硬件系统名词
  • 原文地址:https://www.cnblogs.com/qiupiaohujie/p/13131010.html
Copyright © 2011-2022 走看看