標籤:des style class c color int
記得以前剛寫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#物件導向