1. 程式人生 > >利用js傳一個物件到後臺

利用js傳一個物件到後臺

利用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;   //新增 }