有關於JSON如何在前后之間進行傳遞,轉換成對象等操作,請查看 C#Json數據交互 (這篇文章主要介紹了如何轉化Json格式的數據,以及如何使用)
我們在URL中傳遞數據一般都是 XX.aspx?A=1&B=2&C=你 這樣傳遞中文也沒關系,我們在后台利用Request.QueryString["C"]接收就可以了。瀏覽器會自動幫我們解碼。
如果參數過多,這樣拼接也不是很方便,這個時候我們就可以把所有的參數和值寫成Json格式,然后進行傳值 XX.aspx?json={"1",1,"2","2"},如果像這樣寫,接收的時候就只用接收一個參數了。
Json在URL中傳值注意事項:
1,需要把Json字符串進行編碼然后在傳遞,如果不編碼,接收的時候是接收不到的,接收只有一個字符 {
2, 如果Json字符串中出現了中文,我們在后台是無法解碼的,因為編碼個轉碼格式不一致造成
查看ListJson 這個DLL里面有個JsonData 類可以幫助我們快速生成JSON格式和接收JSON數據。
例如:
<div>
<a href="WebForm1.aspx?jsonData=<%=json %>">后台寫JOSN傳值</a>
<div id="test" style="width: 150px; height: 150px; border: solid 1px red;">
JS傳值
</div>
</div>
<script src="../jquery.min.js"></script>
<script>
$("#test").click(function () {
var json = {
Name: "李某",
Age: 22,
Like: "Movies"
}
document.location.href = "WebForm1.aspx?jsonData=" + escape(JSON.stringify(json));//編碼傳值
});
</script>
頁面效果

接受頁面:
后台接收Json格式

我們解碼不出來中文,只能使用 data["Name"]方式得到中文。
JS接收Json格式

效果:
①點擊 后台傳遞JSON 后台解碼中文不出來


②點擊 JS傳值 后台可以解碼成功


我們用JS接收傳遞的json,然后轉成對象

