利用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;
//添加
}