最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

c#和Javascript操作同一json對象的實現(xiàn)代碼

 更新時間:2012年01月17日 00:19:58   作者:  
剛開始學(xué)Javascript,接觸到j(luò)son對象,json可以看作是用于客戶端數(shù)據(jù)實體對象的載體。json對象一般都是通過ajax方式傳送給服務(wù)層
能否讓客戶端和服務(wù)端操作同一json對象呢?目前想到的方式是通過客戶端隱藏控件來實現(xiàn)。
以下是一個泛型列表對象 List<TrainingImplement> ,轉(zhuǎn)為json后,客戶端和服務(wù)端如何操作
1、json對象與C#泛型相互轉(zhuǎn)換代碼
復(fù)制代碼 代碼如下:

//將json數(shù)據(jù)轉(zhuǎn)換為泛型
public static T ConvertByteDataToObject<T>(string byteData)
{
T obj;
using (var ms = new MemoryStream(Encoding.UTF8.GetBytes(byteData)))
{
var serializer = new DataContractJsonSerializer(typeof(T));
obj = (T)serializer.ReadObject(ms);
}
return obj;
}
//將泛型轉(zhuǎn)換為json
public static string ConvertObjectToByteData<T>(T obj)
{
string result;
using (var ms = new MemoryStream())
{
var serializer = new DataContractJsonSerializer(typeof(T));
serializer.WriteObject(ms, obj);
ms.Position = 0;
result = Encoding.UTF8.GetString(ms.ToArray());
}
return result;
}

2、json數(shù)據(jù)源存入在客戶端隱藏控件中
復(fù)制代碼 代碼如下:

<input type="hidden" id="hideDataSource" runat="server" />

3、注意隱藏控件放json數(shù)據(jù)后,因為包含"/",會使request請示發(fā)生錯誤,所以頁頭請設(shè)置ValidateRequest="false"
復(fù)制代碼 代碼如下:

<%@ Page Language="C#" ValidateRequest="false" AutoEventWireup="true"

4、頁面加載Page_Load時,初始化json數(shù)據(jù)源
復(fù)制代碼 代碼如下:

protected void Page_Load(object sender, EventArgs e)
{
#region 加載數(shù)據(jù)源
if (!IsPostBack)
{
List<TrainingImplement> list= new List<TrainingImplement> (){
new TrainingImplement (){
Code="aaa",
c_name ="bbb"
}
....
}//初始化數(shù)據(jù)源
hideDataSource.Value = ConvertObjectToByteData(list);
}
else
{
//如果是回傳,數(shù)據(jù)源從客戶端讀取
List<TrainingImplement> list = ConvertByteDataToObject<List<TrainingImplement>>(hideDataSource.Value);
hideDataSource.Value = ConvertObjectToByteData(list);
}
#endregion

4、客戶端js操作json數(shù)據(jù)源示例
復(fù)制代碼 代碼如下:

<script type="text/javascript" src="../Scripts/jquery-1.4.3.js"></script>
<script type="text/javascript" src="../Scripts/jquery-ui-1.8.7.custom.min.js"></script>
<script type="text/javascript" src="../Scripts/jquery.json-2.2.min.js"></script>
<script type ="text/javascript" >
var DataSourceHidName = "hideDataSource";
var dataSourceDom;
var dataSourceJson;
$(document).ready
(function () {
//獲取數(shù)據(jù)源
dataSourceDom = document.getElementById(DataSourceHidName);
dataSourceJson = eval("(" + dataSourceDom.value + ")");
});
//修改第1個TrainingImplement對象的Code值示例方法
function ModifiedCode() {
dataSourceJson[0]._code = "Code001";
//將更新值后的json對象重新寫入隱藏控件中
dataSourceDom.value = $.toJSON(dataSourceJson);
}
</script>

5、服務(wù)端C#操作Json數(shù)據(jù)源
復(fù)制代碼 代碼如下:

List<TrainingImplement> list = ConvertByteDataToObject<List<TrainingImplement>>(hideDataSource.Value);

相關(guān)文章

  • javascript實現(xiàn)點擊按鈕讓DIV層彈性移動的方法

    javascript實現(xiàn)點擊按鈕讓DIV層彈性移動的方法

    這篇文章主要介紹了javascript實現(xiàn)點擊按鈕讓DIV層彈性移動的方法,實例分析了javascript操作div層的操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-02-02
  • element-ui上傳一張圖片后隱藏上傳按鈕功能

    element-ui上傳一張圖片后隱藏上傳按鈕功能

    這篇文章主要介紹了element-ui上傳一張圖片后隱藏上傳按鈕功能,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2019-05-05
  • 實例詳解JS中的事件循環(huán)機制

    實例詳解JS中的事件循環(huán)機制

    JavaScript是單線程的腳本語言,所以代碼在執(zhí)行的時候,只有一個主線程來執(zhí)行所有的任務(wù),同一個時間只能做同一件事情。本文就為大家詳細(xì)講解一下它的件循環(huán)機制,需要的可以參考一下
    2022-04-04
  • alert和confirm功能介紹

    alert和confirm功能介紹

    這篇文章主要為大家介紹了alert和confirm的功能,需要的朋友可以參考下
    2014-05-05
  • JavaScript中的類型檢查

    JavaScript中的類型檢查

    本文給大家介紹了JavaScript中的類型檢查的一些知識點,整理的非常詳細(xì),推薦給大家,希望對大家學(xué)習(xí)JavaScript能夠所幫助
    2020-02-02
  • Javascript驗證方法大全

    Javascript驗證方法大全

    這篇文章是集合了Javascript所有表單驗證方法,非常全面,感興趣的小伙伴們可以參考一下
    2015-09-09
  • 小程序Request的另類用法詳解

    小程序Request的另類用法詳解

    這篇文章主要介紹了小程序Request的另類用法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • js es6系列教程 - 新的類語法實戰(zhàn)選項卡(詳解)

    js es6系列教程 - 新的類語法實戰(zhàn)選項卡(詳解)

    下面小編就為大家?guī)硪黄猨s es6系列教程 - 新的類語法實戰(zhàn)選項卡(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • 深入探究使JavaScript動畫流暢的一些方法

    深入探究使JavaScript動畫流暢的一些方法

    這篇文章主要介紹了使JavaScript動畫流暢的一些方法,包括與CSS動畫效果的一些對比,需要的朋友可以參考下
    2015-06-06
  • Json字符串轉(zhuǎn)換為JS對象的高效方法實例

    Json字符串轉(zhuǎn)換為JS對象的高效方法實例

    一般JSON字符串轉(zhuǎn)換為JS對象,都使用var jsonStr="{a:1}";var jsonObj = eval("("+jsonStr+")");
    2013-05-05

最新評論

措美县| 敦化市| 大名县| 阿拉尔市| 宜君县| 镇康县| 定安县| 青海省| 历史| 南江县| 图木舒克市| 鸡东县| 隆回县| 恩施市| 巴楚县| 贵定县| 古丈县| 福建省| 九台市| 宁南县| 石家庄市| 锦屏县| 都江堰市| 深泽县| 洞头县| 巨野县| 宝山区| 霍林郭勒市| 滦南县| 大宁县| 团风县| 鄂托克旗| 佛山市| 东莞市| 柞水县| 乡城县| 峨山| 永丰县| 宁津县| 北川| 云安县|