技术人员详细说明调用JS 标准相关问题
创始人
2024-06-19 11:00:52
0

我们已经介绍了如何在 JavaScript 中、以及通过 Jayrock 在 .NET Framework 中使用JSON 标准,接下来我们来看一个关于在何处以及如何应用这些知识的实际示例。考虑 ASP.NET 2.0 的客户端脚本回调功能。

JSON 标准可简化 web 浏览器向 ASP.NET 页面(或向页面中的特定控件)发出带外调用的过程。在典型的回调情形中,浏览器中的客户端脚本将数据打包并回送到 web 服务器,由服务器端方法进行某些处理。从服务器收到响应数据后,客户端会用它来更新浏览器显示。

注意 可在《MSDN 杂志》的文章JSON 标准“ASP.NET 2.0 中的脚本回调”中找到更多信息。客户端回调情形中的难题在于,客户端和服务器只能来回运送一个字符串。因此,待交换的信息必须在发送前从本机内存中的表示形式转换为字符串,然后在收到后从字符串分析回本机内存中的表示形式。

ASP.NET 2.0 中的客户端脚本回调功能不要求进行交换的数据使用特定字符串格式,也不提供在本机内存中和字符串表示之间进行转换的任何内置功能;开发人员可以依据所选择的数据交换格式来实现转换逻辑。#t#

以下示例说明了如何在客户端脚本回调情形中将 JSON 用作数据交换格式。特别是,该示例由 ASP.NET 页面组成,此页面使用 Northwind 数据库中的数据,以下拉列表形式提供类别列表;选定类别中的产品则显示在项目符号列表中(请参见图 3)。每当客户端更改下拉列表时,将发生回调并传入***元素为选定 CategoryID 的数组。

注意 我们传入的是包含选定 CategoryID 作为其***元素的数组(而不仅仅是 CategoryID),因为 JSON 标准要求任何 JSON 文本都必须有对象或数组作为其根。当然,客户端不需要向服务器传递 JSON 文本,在此示例中本来可以只将选定的 CategoryID 作为字符串进行传递。

但是,我们想要演示在回调的请求和响应消息中发送 JSON 文本。Page_Load 事件处理程序的以下代码配置了 Categories DropDownList Web 控件,以便在它发生更改时调用 JSON 标准函数,并传递选定的下拉列表值。如果传入的下拉列表值大于零,此函数会初始化客户端脚本回调:

  1. // Add client-side onchange event to drop-down list  
  2. Categories.Attributes["onchange"] = "Categories_onchange(this);";  
  3. // Generate the callback script  
  4. string callbackScript = ClientScript.GetCallbackEventReference(  
  5. /* control        */ this,   
  6. /* argument       */ "'[' + categoryID + ']'",   
  7. /* clientCallback */ "showProducts",   
  8. //* context        */ "null");  
  9. // Add the Categories_onchange function  
  10. ClientScript.RegisterClientScriptBlock(GetType(),  
  11. "Categories_onchange", @"  
  12. function Categories_onchange(sender)  
  13. {  
  14. clearResults();  
  15. var categoryID = sender.value;              
  16. if (categoryID > 0)  
  17. {  
  18. " + callbackScript + @"  
  19. }  
  20. }", true); 

 

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...