• ASP.Net MVC数据传递


    今天做了个项目,涉及到离线下载HTML,没有前后台交互,没有Ajax,JavaScript,只有第一次从控制器带参数进入,一次读取到页面所需要的全部数据,使用Razor语法绑定到前台页面,在做这个项目的时候,遇到了一个问题就是:前台页面需要绑定很多数据,可以分成很多个模块,但是有不能使用合适的easyui控件,不能简单的使用单个List或者单个Model想前台传数据。我们都知道简单的传递单个的方法:

    方法一:直接返回单个LIst

    后台:取到List数据直接返回前台——return view(List)

    前台:引用List对应的模型——@model.List

    方法二:使用viewBag

    后台:viewBag.listDome=list;(list为后台查询到的数据)

    前台:直接foreach(var item in viewBag.List){...}循环里就可以吧item看成一个对象从而循环遍历List里的内容

    其实这种方法可以传多个List,就是每次都要ViewBag一下,挺麻烦的,所以就有更加灵活的方法三

    方法三:使用model传多个List

    后台:这个方法其实也是定义model(Listview),只不过在模型里面多定义了一些要传到前台的List,并且单独给List赋值,我们需要定义一个有模型生成的View,将List作为这个View的属性,分别给Listview得属性赋值,之后return view()

    前台:1.先引用模型Listview(@。。。。.model.Listview)

    2.使用model作为对象,需要访问里面的List,就可以使用对象引用属性的方法,(使用model.list名),要循环遍历也是直接使用foreach,次方法可以有智能提示里面的List,属于强类型,而使用方法二的话属于弱类型,使用viewBag并不能有智能提示里面的List,还有可能会报错!

  • 相关阅读:
    发布在《30天自制操作系统》之前的操作捷径必读贴
    写在《30天自制操作系统》上市之前
    JS跨域代码片段
    C#简单操作XML
    Application Session Cookie ViewState Cache Hidden 区别
    C# string 特殊引用类型
    精通CSS高级Web标准解决方案:相对定位与绝对定位
    精通CSS高级Web标准解决方案:浮动
    精通CSS高级Web标准解决方案:背景图像基础
    char、varchar、nchar、nvarchar的区别
  • 原文地址:https://www.cnblogs.com/min-min-min/p/5625264.html
Copyright © 2020-2023  润新知