美文网首页
.net-mvc前后端4种传值方式

.net-mvc前后端4种传值方式

作者: 浅谈码生活 | 来源:发表于2020-12-01 16:33 被阅读0次

1.)ViewData:后端以字典形式赋值(base.ViewData["key"]=value),前端显示界面直接(@ViewData["key"])调用。

2.)ViewBag:ViewBag为dynamic类型,后端可以直接进行赋值(base.ViewBag.name=""),前端显示界面直接(@ViewBag.name)调用。注:ViewBag可能会覆盖ViewData的数据

3.)TempData:后端以字典形式赋值(base.ViewData["key"]=value),前端显示界面直接(@TempData["key"])调用,但TempData的数据会保存到浏览器的session中,所以可以跨试图调用。

4.)Model:后端为正常实体类,在前端显示界面使用时,开头先引用命名空间,并以(@model ClassName)标记,后面直接(@Model.Name)使用。

后端控制器赋值

public ActionResult Index()
{         
    base.ViewData["ViewDataCurrentUser"] = _UserList[0];
    base.ViewData["testProp"] = "jeff";
    base.ViewBag.testProp = "判断ViewBag.testProp 有没有覆盖ViewData[testProp]";  //会和ViewData["testProp"] 冲突,以后者为准;
    base.ViewBag.Name = "name";
    base.ViewBag.ViewBagCurrentUser = this._UserList[1];
    base.TempData["TempDataCurrentUser"] = this._UserList[2];
    base.TempData["testProp"] = "fresh";  //TempaData 存储在Sesssion中; 可以跨Action传递值
    CurrentUser currentUser = this._UserList[3];
    return View(currentUser);
}

前端视图使用

@model CurrentUser
@{
    ViewBag.Title = "FirstIndex";
    CurrentUser ViewDataCurrentUser = ((CurrentUser)ViewData["ViewDataCurrentUser"]);
    CurrentUser TempDataCurrentUser = ((CurrentUser)TempData["TempDataCurrentUser"]);
}
 

<h2>FirstIndex</h2>

<h3>ViewData["ViewDataCurrentUser"].Name:@(((CurrentUser)ViewData["ViewDataCurrentUser"]).Name)</h3>

<h3>ViewData["ViewDataCurrentUser"].Name:@(ViewDataCurrentUser.Name)</h3>

<h3>ViewData["testProp"]:@ViewData["testProp"]</h3>

<h3>ViewBag.Name:@ViewBag.Name</h3>

<h3>ViewBag.ViewBagCurrentUser.Name:@ViewBag.ViewBagCurrentUser.Name</h3>

<h3>TempData["TempDataCurrentUser"].Name:@(((CurrentUser)TempData["TempDataCurrentUser"]).Name)</h3>

<h3>TempData["TempDataCurrentUser"].Name:@(TempDataCurrentUser.Name)</h3>

<h3>TempData["testProp"]:@TempData["testProp"]</h3>

<h3> ViewBag.testProp:@ViewBag.testProp</h3>

<h3>Model.Name:@Model.Name</h3>

相关文章

  • .net-mvc前后端4种传值方式

    1.)ViewData:后端以字典形式赋值(base.ViewData["key"]=value),前端显示界面直...

  • 消息中有emoj表情的处理方式

    数据库存值报错 解决方式: 前端传值来时,emoj表情 转换为 别名字符 ;-- 实现方式:注解校验更改后端向前端...

  • dotNET5的MVC页面传值方式总结

    本文大致讲解mvc前后端的传值方式,包括control向view、view向control、以及action向ac...

  • vue通信、传值的多种方式

    组件之间传值方式 页面间之间传值方式

  • Django前端后端值传递问题

    一、通过表单传值 二、通过ajax传值 三、后端传给前端

  • iOS-传值方式

    传值方式:1、属性传值 方法传值2、代理传值3、单例传值 4、通知传值 NSNotificationCente...

  • iOS传值方式

    在iOS中,常见的传值方式有以下几种:1.属性传值2.单例传值3.通知传值4.代理传值5.Block这些传值方式,...

  • iOS之传值

    在iOS中传值的方式有很多种方式,有最普遍的就是属性传值,代理传值,block传值等方式了。写了OC和swift的...

  • Vue组件间关系及六种传值方式

    前言: 六种传值方式为: 属性传值 $refs $parent 通知传值(广播传值) 本地传值 路由传值 在介绍组...

  • 页面传值-03

    一、传值分类 页面传值基本分为两种:正向传值和反向传值。 二、传值方式 传值,最基本的无非就是代理传值、通知传值、...

网友评论

      本文标题:.net-mvc前后端4种传值方式

      本文链接:https://www.haomeiwen.com/subject/pgpswktx.html