这一节主要是记录父子关系的JSON生成,废话不多说,直接上代码。

 public partial class _default : System.Web.UI.Page
{
public static string meunString = string.Empty;
protected void Page_Load(object sender, EventArgs e)
{
//meunString= getMeunData()+";";
} public string getMeunData()
{
List<FristMeun> firstMeunList = new List<FristMeun>();
for (int i = 0; i < 3; i++)
{
string _name = "菜单" + i.ToString();
string _icon = "GlobalStyle/images/ui-icon_home.gif";
List<SecondMeun> secondMeunList = new List<SecondMeun>();
for (int s = 0; s < 10; s++)
{
SecondMeun secondMeun = new SecondMeun {
label = "代理管理",
css = "edit",
target = "mainFrame",
url = "Agent/AgentDelegate.aspx"
};
secondMeunList.Add(secondMeun);
}
FristMeun fristMeun = new FristMeun {
name = _name,
icon = _icon,
items=secondMeunList
};
firstMeunList.Add(fristMeun); }
if (firstMeunList.Count > 0)
{
JavaScriptSerializer serializer = new JavaScriptSerializer();
string resultString = serializer.Serialize(firstMeunList);
return resultString+";";
}
else
{
return "";
}
}
} public class FristMeun
{
public string name { get; set; }
public string icon { get; set; }
public List<SecondMeun> items { get; set; }
}
public class SecondMeun
{
public string label { get; set; }
public string css { get; set; }
public string target { get; set; }
public string url { get; set; }
}

  aspx页面调用后台方法的写法:var menuSource =<%= getMeunData()%>

javascript序列化json 第二篇的更多相关文章

  1. 深入理解javascript函数系列第二篇——函数参数

    × 目录 [1]arguments [2]内部属性 [3]函数重载[4]参数传递 前面的话 javascript函数的参数与大多数其他语言的函数的参数有所不同.函数不介意传递进来多少个参数,也不在乎传 ...

  2. 深入理解javascript作用域系列第二篇——词法作用域和动态作用域

    × 目录 [1]词法 [2]动态 前面的话 大多数时候,我们对作用域产生混乱的主要原因是分不清楚应该按照函数位置的嵌套顺序,还是按照函数的调用顺序进行变量查找.再加上this机制的干扰,使得变量查找极 ...

  3. 深入理解javascript作用域系列第二篇

    前面的话 大多数时候,我们对作用域产生混乱的主要原因是分不清楚应该按照函数位置的嵌套顺序,还是按照函数的调用顺序进行变量查找.再加上this机制的干扰,使得变量查找极易出错.这实际上是由两种作用域工作 ...

  4. 深入理解javascript对象系列第二篇——属性操作

    × 目录 [1]查询 [2]设置 [3]删除[4]继承 前面的话 对于对象来说,属性操作是绕不开的话题.类似于“增删改查”的基本操作,属性操作分为属性查询.属性设置.属性删除,还包括属性继承.本文是对 ...

  5. javascript运动系列第二篇——变速运动

    × 目录 [1]准备工作 [2]加速运动 [3]重力运动[4]减速运动[5]缓冲运动[6]加减速运动[7]往复运动[8]变速函数 前面的话 前面介绍过匀速运动的实现及注意事项,本文在匀速运动的基础上, ...

  6. javascript动画系列第二篇——磁性吸附

    × 目录 [1]范围限定 [2]拖拽范围 [3]磁性吸附 前面的话 上一篇,我们介绍了元素拖拽的实现.但在实际应用中,常常需要为拖拽的元素限定范围.而通过限定范围,再增加一些辅助的措施,就可以实现磁性 ...

  7. javascript面向对象系列第二篇——创建对象的5种模式

    × 目录 [1]字面量 [2]工厂模式 [3]构造函数[4]原型模式[5]组合模式 前面的话 如何创建对象,或者说如何更优雅的创建对象,一直是一个津津乐道的话题.本文将从最简单的创建对象的方式入手,逐 ...

  8. Javascript面对对象. 第二篇

    但是还有一个问题,就是识别的问题,因为根本无法搞清楚他们到底是哪个对象的实例. 1.构造函数 function CreateObject(name,age){ //创建一个对象,使用构造函数的对象都是 ...

  9. 《javascript权威指南》读书笔记——第二篇

    <javascript权威指南>读书笔记——第二篇 金刚 javascript js javascript权威指南 今天是今年的196天,分享今天的读书笔记. 第2章 词法结构 2.1 字 ...

随机推荐

  1. 【BZOJ】3834: [Poi2014]Solar Panels

    http://www.lydsy.com/JudgeOnline/problem.php?id=3834 题意:求$max\{(i,j)\}, smin<=i<=smax, wmin< ...

  2. UVA 10780 - Again Prime? No Time.

    题目链接 思路好想,注意细节.错了很多次. #include <cstdio> #include <cstring> #include <string> #incl ...

  3. mysql的小总结

    1.什么是数据库 ? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数 ...

  4. window 安装Mysql 5.6 发生系统错误 1067

    问题: #安装MySQL服务:mysqld -install MySQL5 D:\Program Files\mysql_5.6.24_winx64\bin>mysqld -install My ...

  5. SQLSERVER远程备份、恢复(转)

    SQLSERVER服务实例名称:192.168.0.2需要备份的数据库名称: a备份机器名称(Client端):192.168.0.3备份机用户:zf 密码:123备份机域名:domain备份机提供备 ...

  6. GO语言练习:第二个工程--模拟音乐播放器

    1.代码 2.编译及运行 1.目录结构 1.1) $ tree . ├── mplayer.go └── src ├── mlib │   ├── manager.go │   └── manager ...

  7. linux shell 脚本获取和替换文件中特定内容

    1.从一串字符串中获取特定的信息 要求1:获取本机IP:menu.lst为系统镜象的IP配置文件,需要从中获取到本机IP信息(从文件获取信息) timeout title live find --se ...

  8. QTabWidget 使用方法

    QTabWidget是Qt中的标签类,由于可切换到标签存在,大大的提高了软件可容纳的控件的数量,通过增加标签,我们几乎有用之不尽的空间,那么我们来看看这个类的一些基本用法: 声明控件: QTabWid ...

  9. iptables防火墙作为基本需求的配置

    企业中使用iptables防火墙:(一般不要在命令中输入规则) # Firewall configuration written by system-config-firewall# Manual c ...

  10. ACM Steps 2.1.7

    Leftmost Digit   Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)  T ...