記得以前剛寫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#面向對象
新聞熱點
疑難解答