c#和Javascript操作同一json对象的实现代码_javascript技巧
程序员文章站
2024-04-04 08:23:29
...
能否让客户端和服务端操作同一json对象呢?目前想到的方式是通过客户端隐藏控件来实现。
以下是一个泛型列表对象 List ,转为json后,客户端和服务端如何操作
1、json对象与C#泛型相互转换代码
//将json数据转换为泛型
public static T ConvertByteDataToObject(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;
}
//将泛型转换为json
public static string ConvertObjectToByteData(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数据源存入在客户端隐藏控件中
3、注意隐藏控件放json数据后,因为包含"/",会使request请示发生错误,所以页头请设置ValidateRequest="false"
4、页面加载Page_Load时,初始化json数据源
protected void Page_Load(object sender, EventArgs e)
{
#region 加载数据源
if (!IsPostBack)
{
List list= new List (){
new TrainingImplement (){
Code="aaa",
c_name ="bbb"
}
....
}//初始化数据源
hideDataSource.Value = ConvertObjectToByteData(list);
}
else
{
//如果是回传,数据源从客户端读取
List list = ConvertByteDataToObject
4、客户端js操作json数据源示例
5、服务端C#操作Json数据源
List list = ConvertByteDataToObject
以下是一个泛型列表对象 List
1、json对象与C#泛型相互转换代码
复制代码 代码如下:
//将json数据转换为泛型
public static T ConvertByteDataToObject
{
T obj;
using (var ms = new MemoryStream(Encoding.UTF8.GetBytes(byteData)))
{
var serializer = new DataContractJsonSerializer(typeof(T));
obj = (T)serializer.ReadObject(ms);
}
return obj;
}
//将泛型转换为json
public static string ConvertObjectToByteData
{
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数据源存入在客户端隐藏控件中
复制代码 代码如下:
3、注意隐藏控件放json数据后,因为包含"/",会使request请示发生错误,所以页头请设置ValidateRequest="false"
复制代码 代码如下:
4、页面加载Page_Load时,初始化json数据源
复制代码 代码如下:
protected void Page_Load(object sender, EventArgs e)
{
#region 加载数据源
if (!IsPostBack)
{
List
new TrainingImplement (){
Code="aaa",
c_name ="bbb"
}
....
}//初始化数据源
hideDataSource.Value = ConvertObjectToByteData(list);
}
else
{
//如果是回传,数据源从客户端读取
List
- >(hideDataSource.Value);
hideDataSource.Value = ConvertObjectToByteData(list);
}
#endregion
4、客户端js操作json数据源示例
复制代码 代码如下:
5、服务端C#操作Json数据源
复制代码 代码如下:
List
- >(hideDataSource.Value);
上一篇: php查询ip地址来源归属地的脚本
下一篇: 如何学好PHP?PHP学习心得大奉送
推荐阅读
-
c#和Javascript操作同一json对象的实现代码_javascript技巧
-
javascript 操作Word和Excel的实现代码
-
Javascript中3种实现继承的方法和代码实例_javascript技巧
-
从URL中提取参数与将对象转换为URL查询参数的实现代码_javascript技巧
-
基于jquery的高性能td和input切换并可修改内容实现代码_javascript技巧
-
JavaScript打开word文档的实现代码(c#)_javascript技巧
-
js/ajax跨越访问-jsonp的原理和实例(javascript和jquery实现代码)_javascript技巧
-
Javascript中3种实现继承的方法和代码实例_javascript技巧
-
JavaScript打开word文档的实现代码(c#)_javascript技巧
-
JS Map 和 List 的简单实现代码_javascript技巧