MVC 数据传递

Posted //我是小白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MVC 数据传递相关的知识,希望对你有一定的参考价值。

MVC中数据传递主要分为两大类:从控制器向视图传递、从视图向控制器传递

控制器向视图传递值

从控制器向视图传递数据通常使用三个对象:ViewData、ViewBag、TempData

演示在控制器中的 Index方法中使用ViewData对象和ViewBag对象保存一些数据,并且在视图中访问,TempData
当需要在Action()方法之间传递数据时可以采用TempData对象

控制器代码

public ActionResult Index()
       public ActionResult Index()
        {
            ViewData["msg"] = "我是ViewData的数据";
            ViewBag.Name = "我是ViewBag的数据";
            TempData["msg"] = "我是TempData的数据";
            return View();
        }

        public ActionResult About()
        {
            ViewBag.Message = "Your application description page.";

            return View();
        }

视图Index代码

<body>
    <div>
        <h2>@ViewData["msg"]</h2>
        <h2>@ViewBag.Name</h2>
        <a href="/Home/About">关于</a>
    </div>
</body>

视图About代码

<body>
    <h2 style="color:#0026ff">@TempData["msg"]</h2>
</body>

效果
在这里插入图片描述
点击超链接后跳转到About页面
在这里插入图片描述

视图向控制器传递值

可以使用Request对象来完成,他是最原始的视图和后台之间的数据传递方式。我们通过一个小案例来了解他

控制器代码参考如下

public ActionResult Index()
{
     return View();
}
public ActionResult Save()
{
     string name = Request["uName"];
     ViewBag.Name = "您输入的姓名是:"+name;
     return View();
}

Index视图代码参考如下

<body>
    <form method="post" action="Save">
        输入用户名:<input type="text" name="uName"/>
        <input type="submit" value="提交"/>
    </form>
</body>

Save视图代码参考如下

<body>
     <h2>@ViewBag.name</h2>
</body>

效果
在这里插入图片描述
在这里插入图片描述

以上是关于MVC 数据传递的主要内容,如果未能解决你的问题,请参考以下文章

从另一个活动的活动中的片段传递数据

使用导航从工具栏菜单项单击在片段之间传递数据 - Kotlin

传递额外的值 Passing Extra Values |在视图中生成输出URL | 高级路由特性 | 精通ASP-NET-MVC-5-弗瑞曼

数据从父片段传递到选项卡片段(子) - Android

在Android中,如何将数据从类传递到相应的布局/片段文件?

以向导形式传递数据而不在 MVC 中回发