[翻译]asp.net ajax xml-script教程(四)

总结
正文(教程的第四局部)中我们询问了怎么着采纳PostBack
action去回发一个页,如何创建一个后续自Sys.Action的自定义action,怎样重写performAction方法。action是通过注南陈码执行封装javascript代码的充裕棒的措施。

最终,这里有一段代码表达什么使用这多少个AlertAction。

图片 1xmlns:cc=”Samples” 

原稿发表日期:2007.01.10
作者:Alessandro
Gallo

翻译:webabcd

接下去的例证出示了一个AlertAction,它可以在屏幕上突显一个警告框。创建一个javascript文件,命名为AlertAction.js,然后把它存在你的安装了ajax-ctp的站点的ScriptLibrary文件夹内并追加如下代码

图片 2图片 3<%图片 4@ Page %>
图片 5
图片 6<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” 
图片 7http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
图片 8
图片 9<html xmlns=”http://www.w3.org/1999/xhtml” >
图片 10<head id=”Head1″ 
图片 11
图片 12runat=”server”>
图片 13    <title>Alert Action</title>
图片 14</head>
图片 15<body>
图片 16    <form id=”form1″ runat=”server”>
图片 17    <asp:ScriptManager ID=”TheScriptManager” runat=”server”>
图片 18图片 19        <Scripts>图片 20
图片 21            <asp:ScriptReference Assembly=”Microsoft.Web.Preview” Name=”PreviewScript.js” />
图片 22            <asp:ScriptReference Path=”ScriptLibrary/AlertAction.js” />
图片 23        </Scripts>
图片 24    </asp:ScriptManager>
图片 25    
图片 26    <div>
图片 27        <input type=”button” id=”myButton” value=”Click Me” />
图片 28    </div>
图片 29
图片 30图片 31    <script type=”text/xml-script”>图片 32
图片 33        <page xmlns=”http://schemas.microsoft.com/xml-script/2005” xmlns:cc=”Samples”>
图片 34         <components>
图片 35            <button id=”myButton”>
图片 36                <click>
图片 37                    <cc:alertAction message=”Hello Xml-script!” />
图片 38                </click>
图片 39            </button>
图片 40         </components>
图片 41        </page>
图片 42    </script>
图片 43    </form>
图片 44</body>
图片 45</html>

Actions
一个action封装了轩然大波被鼓舞后所实施的一段javascript代码块。有一个事例就是SetProperty
action,这么些action允许设置客户端组件表露出来的属性的值,又例如InvokeMethod
action,它可以调用一个艺术并传递参数。

Microsoft Ajax
Library定义了一个被称作PostBackAction的第三方内置action。这多少个action的效益是当一个事变被激发的时候后回发页(使用asp.net的回发机制,调用__doPostBack函数)

我们不可能运用像button,label,textBxo,postBackAction之类的前缀,因为xml-script解析器会在一套默认的命名空间内遵照这些前缀搜索到相应的类。
·Sys
·Sys.UI
·Sys.Net
·Sys.Preview
·Sys.Preview.UI
·Sys.Preview.Net
·Sys.Preview.Data
·Sys.Preview.UI.Data
·Sys.Preview.Services.Components

图片 46Type.registerNamespace(‘Samples’);
图片 47
图片 48图片 49Samples.AlertAction = function() 图片 50{
图片 51    this._message;
图片 52}
图片 53图片 54Samples.AlertAction.prototype = 图片 55{
图片 56图片 57    get_message : function() 图片 58{
图片 59        return this._message;
图片 60    },
图片 61    
图片 62图片 63    set_message : function(value) 图片 64{
图片 65        this._message = value;
图片 66    },
图片 67    
图片 68图片 69    performAction : function() 图片 70{
图片 71        return alert(this._message);
图片 72    }
图片 73}
图片 74图片 75Samples.AlertAction.descriptor = 图片 76{
图片 77图片 78    properties: [ 图片 79{name: ‘message’, type: String} ]
图片 80}
图片 81Samples.AlertAction.registerClass(‘Samples.AlertAction’, Sys.Preview.Action);

asp.net ajax xml-script教程(四)

图片 82<page xmlns=”http://schemas.microsoft.com/xml-script/2005"&gt;

图片 83__doPostBack(‘btnPostBack’, ‘some_argument’);

介绍
大家曾经看过了第二部分(译者注:华语在这边)和其三有的(译者注:华语在此间)的科目,倘诺一个客户端类型在它的项目描述符中透露了一个轩然大波,我们就足以选拔xml-script去讲明式的拍卖。在xml-script中使用action去处理事件是一种极度棒的方法,本文大家将见到哪些创立自定义action去以宣称的办法处理事件。

在这么些事例中,单击按钮会唤起上边这段javascript代码被执行

然后就可以在alertAction标签下行使我们所定义的前缀了

本课程的下一部分大家将注意于就学绑定。

接下去的代码出示了PostBack action,当一个button被单击后引起页面的回发

AlertAction类表露了一个message属性,那么些特性的值就是弹出框的音讯。performAction被重写了,它会调用javascript的alert方法来在屏幕上呈现音信。注意AlertAction类继承自Sys.Preview.Action并且表露了一个档次描述符,允许在宣称代码中使用这多少个类

图片 84图片 85<%图片 86@ Page Language=”C#” %>
图片 87
图片 88<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” 
图片 89http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
图片 90
图片 91<html xmlns=”http://www.w3.org/1999/xhtml” >
图片 92<head id=”Head1″ runat=”server”>
图片 93    <title>Simple Button PostBack</title>
图片 94</head>
图片 95<body>
图片 96    <form id=”form1″ runat=”server”>
图片 97    <asp:ScriptManager ID=”ScriptManager1″ runat=”server”>
图片 98图片 99     <scripts>图片 100
图片 101            <asp:ScriptReference Assembly=”Microsoft.Web.Preview” Name=”PreviewScript.js” />
图片 102     </scripts>
图片 103    </asp:ScriptManager>
图片 104    
图片 105    <input type=”button” id=”btnPostBack” value=”PostBack” />
图片 106
图片 107图片 108    <script type=”text/xml-script”>图片 109
图片 110     <page xmlns=”http://schemas.microsoft.com/xml-script/2005"&gt;
图片 111        <components>
图片 112         <button id=”btnPostBack”>
图片 113             <click>
图片 114                 <postBackAction target=”btnPostBack” eventArgument=”some_argument” />
图片 115             </click>
图片 116         </button>
图片 117        </components>
图片 118     </page>
图片 119    </script>
图片 120    </form>
图片 121</body>
图片 122</html>

不顾,在xml代码中的根元素至少会有一个大局命名空间,像如下这样的page元素

自定义action
咱俩只要想创立一个自定义action,简单的不二法门就是开创一个连续自Sys.Preview.Action的类相提并论写它的performAction方法。

抱有那个类存在于不同的命名空间里,大家需要把它们的命名空间映射到一个xml命名空间才能科学的使用注脚代码。

图片 123<cc:alertAction message=”Hello Xml-script!” />

做这件事的话,我们就要在page元素下扩大一个性能,表明命名空间的前缀。

取名空间
下边这段代码简单易懂,因为自定义action的应用与Microsoft Ajax
Library提供的内置action的应用基本相同。可是,因为AlertAction类在Samples命名空间下,所以大家亟须把那多少个命名空间绑定到一个自定义的xml命名空间上。

初稿地址:http://dotnetslackers.com/articles/atlas/xml_script_tutorial_part4.aspx

相关文章