zoukankan      html  css  js  c++  java
  • 点滴笔记(二):利用JS对象把值传到后台

    记得以前刚写asp.net 从前台往后台传值 都是var data=A,B,C,D,E; 循环添加用逗号隔开 后台还要被测试测出只输入,就错了 哈哈。。后来用✈◆类似的符号隔开 不是长久之计。。。

     现在用了MVC,表单添加,在每个input上写上相对应Model的Name,传到后台直接model点属性就行了。

      但是还是会碰到提交不是表单,类似提交考试答案,课后评估,一大串字符串。看到JS对象眼前一亮!!!上代码

     Html:

    <ul>

    <li class='id'>1</li>

    <li class='name'>A</li>

    </ul>

    <ul>

    <li class='id'>2</li>

    <li class='name'>B</li>

    </ul>

    --------------------------------------------------------------------------------

    如果换成以前我肯定会写成1,A.2,B传到后台。。。现在不一样了

       var OrgArray={};//首先声明一个全局数组

     $(ul).each(function(){

        var Organ={

          id=$(this).children(li:eq(0)).html(),

          name=$(this).children(li:eq(1)).html()

            }

        OrgArray.push(Organ); //等于list集合

      })

    $.post("url",{OrgArray: JSON.stringify(OrgArray)//转换成字符串}, function(data){})

    //如果传的字符串层级很多的话 还可以多套几个var arry={};

    ----------------------------------------------------------------------------------------------

    后台

    var OrgArray = Request.Form["OrgArray"];
     dynamic OrgList = Newtonsoft.Json.JsonConvert.DeserializeObject(OrgArray);

    for (int i = 0; i < OrgList.Count; i++)

    {

      id=OrgList[i].id;

      name=OrgList[i].name;

      //添加

    }

    -------------------------------------------------------------------------------------------

    用这样的写法和以前逗号拼接比较的话,个人觉得1:利于以后维护!直接知道属性的意思,省的在去前台一个个查,简洁,方便。2:避免用特殊符号隔开,发生一些错误。。3:符合C#面向对象

     

  • 相关阅读:
    1442. Count Triplets That Can Form Two Arrays of Equal XOR
    1441. Build an Array With Stack Operations
    312. Burst Balloons
    367. Valid Perfect Square
    307. Range Sum Query
    1232. Check If It Is a Straight Line
    993. Cousins in Binary Tree
    1436. Destination City
    476. Number Complement
    383. Ransom Note
  • 原文地址:https://www.cnblogs.com/maojiayuan/p/3731593.html
Copyright © 2011-2022 走看看