Atlas学习手记(20):客户端简单控件示例

上一篇简单介绍了Atlas的客户端控件,都是一些理论性的东西,显得有些枯燥。本文以Button控件为示例,看一下客户端简单控件的一些使用。

 

主要内容

1Button控件示例

 

上一篇简单介绍了Atlas的客户端控件,都是一些理论性的东西,显得有些枯燥。本文以Button控件为示例,看一下客户端简单控件的一些使用。前面说过,AtlasDOM元素中的Button概念扩展,使Button不单单指typebuttonsubmitHTML input元素,还可以应用到例如spana等元素上,提供开发人员统一的编程接口。

1.添加InputButtonaspan四个DOM元素:

<input id="button1" type="button" value="Button 1" /> <br />

<button id="button2" type="button">Button 2</button> <br />

<id="button3" href="#">Buttron 3</a> <br />

<span id="button4" class="pseudo-button">Button4</span>

分别表示为Button1Button2Button3Button4。再添加一个Span用来显示单击按钮后的结果:

<span id="result"></span>

2.添加Atlas客户端控件:

前面说过,Sys.Component是所有的Atlas客户端控件的抽象基类,而所有的控件都有一个ID属性,它的解释为Atlas组件的标识符,将Atlas客户端组件与DOM元素连接起来。这个id值与DOM元素的id属性值相同,Atlas使用这个id以找到相关的DOM元素。

添加一个AtlasLabel控件,设置它的ID与我们上面的Span ID一致:

<label id="result" />

前三个Button我们只是加上Click,而对第四个Button还加上了hoverBehavior,分别设置参数如下:

<script type="text/xml-script">

    
<page xmlns:script="http://schemas.microsoft.com/xml-script/2005" xmlns:samples="samples">

        
<components>

            
<label id="result" />

            
<button id="button1">

                
<click>

                    
<setProperty target="result" property="text" value="button1 (input)" />

                
</click>

            
</button>

            
<button id="button2">

                
<click>

                    
<setProperty target="result" property="text" value="button2 (button)" />

                
</click>

            
</button>

            
<button id="button3">

                
<click>

                    
<setProperty target="result" property="text" value="button3 (hyperlink)" />

                
</click>

            
</button>

            
<button id="button4">

                
<click>

                    
<setProperty target="result" property="text" value="button4 (span)" />

                
</click>

                
<behaviors>

                    
<hoverBehavior>

                        
<hover>

                            
<invokeMethod target="button4" method="addCssClass">

                                
<parameters className="pseudo-button-hover" />

                            
</invokeMethod>

                        
</hover>

                        
<unhover>

                            
<invokeMethod target="button4" method="removeCssClass">

                                
<parameters className="pseudo-button-hover" />

                            
</invokeMethod>

                        
</unhover>

                    
</hoverBehavior>

                
</behaviors>

            
</button>

        
</components>

    
</page>

</script>

这里的参数很简单,有关的方法和属性可以参考前一篇文章。其中用的CSS样式:

<style type="text/css">

    .double-spaced 
{

        line-height
: 200%;

    
}


    

    .pseudo-button 
{

        border
: solid 1px; 

        padding
: 3px;

        background
: lightyellow; 

    
}


    

    .pseudo-button-hover 
{

        background
: lightgreen;

    
}


</style>

运行后如下:

单击Button1后:

鼠标移动到Button4上:

单击Button4后:

完整示例下载:http://files.cnblogs.com/Terrylee/ClientSimpleControlDemo.rar

作者:TerryLee
出处:http://terrylee.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
posted @ 2006-08-31 08:17 TerryLee 阅读(2561) 评论(17)  编辑 收藏 网摘 所属分类: [08]  Web开发

  回复  引用    
#1楼 2006-08-31 09:30 | jeanso [未注册用户]
页面加载,
<atlas:UpdateProgress ID="uprog" runat="server">就要显示吗?

“还有可不可以把这个层放在提交按钮上了?”==》<atlas:UpdateProgress ID="uprog" runat="server">这里面的这个层可以放在”提交“按钮上吗?用户点击后,显示;执行完,消失。

能否给我个页面加载使用updateprogress的loading的具体例子啊?
  回复  引用  查看    
#2楼 [楼主]2006-08-31 09:50 | TerryLee      
@jeanso
没有这方面的例子!
  回复  引用  查看    
#3楼 2006-08-31 20:32 | Dflying Chen      
为什么不发在首页呢?
  回复  引用  查看    
#4楼 2006-08-31 22:24 | Clingingboy      
我还是想问一个问题,为什么使用Atlas控件时,如果我本机网络速度慢的时候,Atlas效果就失效了没.有没有解决的办法
  回复  引用    
#5楼 2006-09-01 02:21 | 正树 [未注册用户]
这个一般的用处和好处是在哪些方面呢 请教~Terry
  回复  引用  查看    
#6楼 [楼主]2006-09-01 08:38 | TerryLee      
@Dflying Chen
呵呵,觉得这部分太简单,就不放在首页了

我用一篇文章链接一下吧:-)
  回复  引用  查看    
#7楼 [楼主]2006-09-01 08:44 | TerryLee      
@Clingingboy
这个问题我不太清楚,得请教Dflying Chen,呵呵
  回复  引用  查看    
#8楼 [楼主]2006-09-01 08:46 | TerryLee      
  回复  引用    
#9楼 2006-09-03 21:00 | paleyyang [未注册用户]
为什么有的程序就是提示 Sys未定义。我把你的例子DOWN下来运行也是一样。有时候是好的。有时候就出现这种错误.
  回复  引用  查看    
#10楼 [楼主]2006-09-04 08:25 | TerryLee      
@paleyyang
Down下来后添加Microsoft.Web.Atlas.dll,重新编译一下看看
  回复  引用    
#11楼 2006-09-04 21:57 | paleyyang [未注册用户]
呵呵。谢谢回覆。可能是我项目取的名字有关吧。我包含中文的。重新建了项目没中文就好了。
  回复  引用  查看    
#12楼 [楼主]2006-09-05 17:24 | TerryLee      
@paleyyang
也许是这个问题吧
  回复  引用    
#13楼 2006-09-20 11:58 | xfary [未注册用户]
添加Atlas客户端控件的时间,比如这些客户端代码
script type="text/xml-script">

<page xmlns:script="http://schemas.microsoft.com/xml-script/2005" xmlns:samples="samples">

<components>

<label id="result" />

<button id="button1">
..........
是手动添加的还是自动生成的,如果是手动加入的,那么能不能自动生成呢?
  回复  引用  查看    
#14楼 [楼主]2006-09-20 16:53 | TerryLee      
@xfary
现在都是手动输入,也没有智能提示功能
  回复  引用    
#15楼 2006-09-27 11:41 | hier [未注册用户]
<button id="button1">
<click>
<setProperty target="result" property="text" value="button1 (input)" />
</click>
</button>
如果像这样定义了一个控件,与DOM元素button1关联,那怎样在其他地方访问这个控件呢。

  回复  引用  查看    
#16楼 2006-09-27 17:38 | Jeffrey Zhao      
@hier
如果你是想访问这个控件对象的话,可以通过$("button1").control访问得到。
  回复  引用    
#17楼 2007-01-17 00:36 | snyod [未注册用户]
代表党(.NET平台)感谢您.
全部收藏.................




标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
Google站内搜索

相关文章:

相关链接: