从Atlas到Microsoft ASP.NET AJAX(9) - Using the Value-add Scripts

简介:
在CTP版本中,您只需简单地将一个 ScriptManager 控件加到页面中,默认的CTP核心功能( Atlas.js )就被添加了。不过其它一些脚本是可选的,例如AtlasUIGlitz.js文件。如果您要使用它们,则需要手动地将其加入 ScriptManager 的references中,或者将他们定义在XML-Script的 <refereces /> 里。

  在RTM版本中,为了使用Value-add里的功能,您必须在 ScriptManager 中添加特定的脚本引用。下面的例子展示了如何引用Value-add中定义的所有脚本。

注意:在这里,注册的顺序非常重要,它表明了一个“dependency chain”。
< asp:ScriptManager  runat =”server”  id =”ScriptManager1”>
    
<Scripts >
        
< asp:ScriptReference  Assembly ="Microsoft.Web.Preview"
            Name
="Microsoft.Web.Resources.ScriptLibrary.PreviewScript.js" />
        
< asp:ScriptReference  Assembly ="Microsoft.Web.Preview"  
            Name
="Microsoft.Web.Resources.ScriptLibrary.PreviewGlitz.js" />
        
< asp:ScriptReference  Assembly ="Microsoft.Web.Preview"  
            Name
="Microsoft.Web.Resources.ScriptLibrary.PreviewDragDrop.js" />
    
</ Scripts >
</ ScriptManager >


Client-based and Server-based Types

  定义在Value-add脚本中的类型从CTP版本中的 Sys.* 命名空间转移到了 Sys.Preview.* 中。这确保了功能上的明显区别。从CTP转移到Value-add脚本的开发人员需要更新他们的JavaScript代码。例如, Sys.Services.Components.Profile 组件现在已经变成了 Sys.Preview.Services.Components.Profile

  相似地,使用CTP版本中服务器控件的开发人员在转移到Value-add时,则必须更新Web.config文件,以使用新的命名空间: Microsoft.Web.Preview.* 。例如, Microsoft.Web.UI.Controls.DragOverlayExtender 现在已经变成了 Microsoft.Web.Preview.UI.Controls.DragOverlayExtender


XML-Script

  在Value-add包内依旧能够使用XML-Script,但是由于RTM版本的影响,必须作一些改变。另外,XML-Script的功能也得到了增强。

注意:XML-Script标签不是大小写敏感的。然而,一些特定的属性和它们的值是大小写相关的,因此可能需要对您的应用程序做一些修改。
  XML-Script的标签名直接使用了类型名称,在CTP版本中内置的下列标签在Value-add包中被改变了:
< opacity  />
< layout  />
< autoComplete  />
< setProperty  />
< invokeMethod  />
< serviceMethod  />
< postback  />
< select  />

  在Value-add包中,上述标签名变成了:
< opacityBehavior  />
< layoutBehavior  />
< autoCompleteBehavior  />
< setPropertyAction  />
< invokeMethodAction  />
< serviceMethodRequest  />
< postbackAction  />
< selector  />


Defining Tag Prefixes

  XML标签依旧使用内置的脚本前缀。另外,对自定义前缀的支持被增强了,它使用了如下的语法。这允许开发人员使用逗号来分隔命名空间的标记。
< script  type ="text/xml-script" >
    
< page  xmlns:script ="http://schemas.microsoft.com/xml-script/2005"
        xmlns="JavaScript: Sys.UI, Sys"
>
        
< components >
            ...
        
</ components >
    
</ page >
</ script >

Comment  事实上,在原文中出现的是“xmlns:"JavaScirpt: Sys.UI, Sys"”而不是“xmlns="JavaScript: Sys.UI, Sys"”,我在阅读代码之后作了纠正。

Creating Declarative Bindings

  CTP版本中的Binding被转移到了Value-add脚本中,并且它能够支持在各种级别中使用,而无须嵌套在某个特定的控件中。当它被嵌套在某个控件中时,binding会从它父控件得到上下文或者数据源。下面的代码能够同时在CTP和Value-add中正确使用binding:
< script  type ="text/xml-script" >
    
< page  xmlns:script ="http://schemas.microsoft.com/xml-script/2005" >
        
< components >
            
< textbox  id ="Name"   />
            
< label  id ="FirstName" >
                
< bindings >
                    
< binding  dataContext ="Name"  dataPath ="text"  
                        property
="text" />   
                
</ bindings >
            
</ label >
        
</ components >
    
</ page >
</ script >

  在Value-add包中,binding的propertyKey属性能够支持“.”的使用,这允许您指定某个特定的子属性。对于某些已经从 Control 基类被移除的属性(例如 visible ),您能够通过子属性来访问到它们。下面的示例展示了如何设定一个Button元素的style属性。
< script  type ="text/xml-script" >
    
< page  xmlns:script ="http://schemas.microsoft.com/xml-script/2005"
        xmlns:"JavaScript: Sys.UI, Sys"
>
        
< components >
            
< textbox  id ="Name"   />
            
< label  id ="FirstName" >
                
< bindings >
                    
< binding  dataContext ="Name"  dataPath ="text"  
                        property
="text" />     
                
</ bindings >
            
</ label >
            
< button  id ="button2" >
                
< click >
                    
< setPropertyAction  target ="text1"  property ="element"  
                        propertyKey
="style.borderColor"  value ="black"   />
                
</ click >
            
</ button >
        
</ components >
    
</ page >
</ script >

  这个示例也展示了action的使用方式: setPropertyAction Button 控件的click事件触发时被调用。


References

  在CTP版本中您能够在XML-Script添加对于脚本的引用,在Value-add Beta版本中并没有支持这个功能。RTM版本很可能会解决这个问题。



本文转自 jeffz 51CTO博客,原文链接:http://blog.51cto.com/jeffz/59543,如需转载请自行联系原作者

相关文章
|
1月前
|
XML 开发框架 .NET
C# .NET面试系列八:ADO.NET、XML、HTTP、AJAX、WebService
## 第二部分:ADO.NET、XML、HTTP、AJAX、WebService #### 1. .NET 和 C# 有什么区别? .NET(通用语言运行时): ```c# 定义:.NET 是一个软件开发框架,提供了一个通用的运行时环境,用于在不同的编程语言中执行代码。 作用:它为多语言支持提供了一个统一的平台,允许不同的语言共享类库和其他资源。.NET 包括 Common Language Runtime (CLR)、基础类库(BCL)和其他工具。 ``` C#(C Sharp): ```c# 定义: C# 是一种由微软设计的面向对象的编程语言,专门为.NET 平台开发而创建。 作
173 2
|
6月前
|
开发框架 .NET 数据库
asp.net企业费用报销管理信息系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio
asp.net 企业费用报销管理信息系统是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为vs2010,数据库为sqlserver2008,使 用c#语言开发 应用技术:asp.net c#+sqlserver 开发工具:vs2010 +sqlserver
49 0
|
9月前
|
前端开发
解决.NET Core Ajax请求后台传送参数过大请求失败问题
解决.NET Core Ajax请求后台传送参数过大请求失败问题
|
10月前
|
开发框架 前端开发 JavaScript
【Asp.net】 Ajax小例子
【Asp.net】 Ajax小例子
67 0
|
12月前
|
开发框架 前端开发 JavaScript
ASP.Net Core中使用jquery-ajax-unobtrusive替换Ajax.BeginForm
ASP.Net Core中使用jquery-ajax-unobtrusive替换Ajax.BeginForm
154 0
|
开发框架 移动开发 前端开发
ASP.NET MVC中使用jQuery Ajax通过FormData对象异步提交图片文件到服务端保存并返回保存的图片路径
ASP.NET MVC中使用jQuery Ajax通过FormData对象异步提交图片文件到服务端保存并返回保存的图片路径
248 0
|
开发框架 前端开发 .NET
ASP.NET MVC 中使用Highcharts+Ajax+Json生成动态曲线图,柱状图,饼图
ASP.NET MVC 中使用Highcharts+Ajax+Json生成动态曲线图,柱状图,饼图
127 0
ASP.NET MVC 中使用Highcharts+Ajax+Json生成动态曲线图,柱状图,饼图
|
JSON 前端开发 .NET
如何构建ASP.NET MVC4&JQuery&AJax&JSon示例
背景:   博客中将构建一个小示例,用于演示在ASP.NET MVC4项目中,如何使用JQuery Ajax。 步骤: 1,添加控制器(HomeController)和动作方法(Index),并为Index动作方法添加视图(Index.cshtml),视图中HTML如下: 输入你的姓名: 输入你的年龄: 提交 清空   视图中包含两个文本框,分别用来输入名字和年龄,包含连个按钮,分别用来提交信息和清空文本框的内容,同时包含一个段落,用来显示Ajax返回的数据信息。
1049 0
tsh
|
JSON 前端开发 JavaScript
.net core 2.0 Razor调用ajax(自学笔记)
刚刚开始使用.net core 2.0 Razor进行web开发,上来就遇到一点小问题,在前端页面如何调用ajax,网上的文章很多,但大多是传统的MVC架构,即通过ajax调用controller,虽可以使用但总不理想。
tsh
2690 0