我讲讲脱离ASP.NET控件必备的一步,JSON和使用JQuery获取JSON吧!
高手跳过,写给学习中的人的。这篇帖子是假设你会使用JQuery(JQ这么普及,应该不至少没学过吧!真没学过以后再开帖讲罗)
什么是JSON?
来自W3School的解释:
不用说的太罗嗦,直白的解释就是一段文本,可以用来表示一段结构,类似C#和JAVA的类,不过就是值都带上去了。可以看一段JSON示例:
var JSONObject= {"name":"林大叔", "street":"福州市X区XX路88号", "age":29, "phone":"18933883388"};
需要调用的时候,直接:JSONObject.name,可以得出“林大叔”。
JSON的好处就是读取起来比XML快,现在基本上Ajax交互数据全靠JSON了。注意JSON中间的“名称/值”对,格式是:名称:值,是半角的冒号。
好了,JSON讲完了,单个实体的话它真的就这些内容,但是怎么用?不说怎么用的话只讲JSON不是找骂?
那就讲讲使用JQuery获取JSON吧,假设我们的数据获取地址为:api.aspx,再假设你直接访问api.aspx获取到的一串字符串就是上面我们定义的JSON。那么:
var url='api.aspx';
$.getJSON(url, function (data) { $("#txtName").val(data.name); $("#txtAge").val(data.age); });
后面那个function代表获取成功后执行的函数,也就是说,当我获取数据成功后,data也就是获取到的JSON字符串,这时候直接根据定义的名称,可以取得值。
没有异步概念的同学这里要注意,由于获取数据需要时间,这里就有个异步的概念,也就是说后面那个function是等到数据返回的时候才会执行的,也就是需要等待,具体需要多久时间,看运行环境而定。
有了以上示例,大家可以发挥想像了。
比如说:以前在ASP.NET中,做个某个内容的详细页(比如说学生信息详细,原谅我用这么土的例子)。一般方法是:做一个StudentInfo.aspx页,拖几个控件,根据传入的Id,到数据库获取详细信息,然后在Page_Load的时候,将值绑定到控件。
有了以上方法后,基本上可以不用服务端控件了吧!可以全部用HTML标签。将数据呈现在某个地址里,详细页通过JQuery去取JSON数据,取到后给HTML标签赋值就好了。
至于怎么取列表数据、怎么或插入数据。这些以后再开帖说。祝学ASP.NET的同学,早日摆脱只会拖控件。
我附上做的一个例子源代码,下一次我们来讲在服务端生成JSON。