zoukankan      html  css  js  c++  java
  • MVC后台数据赋值给前端JS对象

    Controller中的数据,不管是使用的是ViewModel 还是ViewBag.Data,要将他传递到View中,这个很容易,但是如果要将它传递给JS中的某个对象,这个改如何处理呢?

    后台的数据格式:

    1
    2
    3
    4
    5
    6
    7
    8
    public class ViewModel
    {
        public int ID { getset; }
     
        public string Name { getset; }
     
        public List<string> Data { getset; }
    }

    Controller 传递到View的数据:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public ActionResult Index()
    {
        ViewBag.ID = 1;
        ViewBag.Name = "WWW";
        ViewModel viewModel = new ViewModel()
        {
            ID = 100,
            Name = "WWW",
            Data = new List<string> {"A","B","C","D","E" }
        };
        return View(viewModel);
    } 

    前台JS 中的一个对象

    1
    2
    3
    4
    5
    var viewModel = {
        id: 0,
        name: '',
        data:[]
    }

      

    1. 如果需要传递整形数字到JS中 

    1
    2
    3
    4
    5
    <script>
            viewModel.id=@ViewBag.ID;
            or
            viewModel.id=@Model.ID;
    </script>

    2.  如果需要传递字符串到JS中

    1
    2
    3
    4
    5
    <script>       
            viewModel.name='@ViewBag.Name';
            or
            viewModel.name='@Model.Name'
    </script> 

    3.如果需要传递复杂的数据类型到JS中,如对象,数组,集合等,

    1
    2
    3
    <script>
            viewModel.data = @Html.Raw(Json.Encode(Model.Data));
    </script>

    更多方法请参见:http://stackoverflow.com/questions/3850958/pass-array-from-mvc-to-javascript

    另外将JS 中的对象传递到Controller中,这个直接采用Ajax,就可以实现,详细请参见  http://stackoverflow.com/questions/16824773/passing-an-array-of-javascript-classes-to-a-mvc-controller

  • 相关阅读:
    Java 获取当前时间最近12个月(字符串)
    Java 取本月第一天和最后一天
    find_in_set()和in()比较
    Latex 箭头、下标、符号上下写文字、正方形和三角形
    LaTeX 公式字体大小设置
    哈希学习(2)—— Hashing图像检索资源
    局部敏感哈希-Locality Sensitivity Hashing
    Mathtype 公式显示方框
    Linux下安装MATLAB
    局部敏感哈希(Locality-Sensitive Hashing, LSH)
  • 原文地址:https://www.cnblogs.com/sjqq/p/9031514.html
Copyright © 2011-2022 走看看