您的位置:首页 > 编程语言 > ASP

DevExpress Asp.net(1) ASPxButton的基本使用

2009-07-28 21:26 302 查看
DevExpress公司开发的系列控件功能确实非常的强大,特别是一些数据绑定的控件,甚至0代码就可以实现非常“强悍”的效果,不服不行。正好工作中也要用到,所以就边学边用边整理,处是结算一下吧。有些地方可能不对,还望各位高手给予指正!
今天主要说一下ASPxButton控件,也是程序当中用的最多的一个,但第一次使用确实给事带来了一点麻烦,比如在客户端需要JS代码进行必要验证时,我们以前用AspButton时只需要添加 OnClientClick事件,并在程序中返回false就可以了,如下代码:

<asp:Button ID="btnSubmit" runat="server" Text="提交" OnClientClick="return btnClick();" />

function btnClick() {
if (txtMemo.GetText() == "") {
alert("请输入有效的值!");
return false;
}
}当BtnClick事件返回false时,程序就不会再去指行服务器端的代码。但是ASPxButton确不可以,无论是事件的注册方式还是处理都有很大的不同。在注册事件时,需要在 <dxe:ASPxButton />标记中添加<ClientSideEvents/>子节点。如下:

Code
<dxe:ASPxButton ID="btnSubmit" runat="server" ClientInstanceName="btnClientSubmit"
Text="提交" >
<ClientSideEvents Click="function validate(s, e) {
if (txtMemo.GetText() == '') {
alert('请输入有效的值!');
e.processOnServer = false;
}
}" />
</dxe:ASPxButton>
以上代码将显示一个ASPxButton,并注册客户端事件Click,在Click事件中,判断txtMemo的内容是否等于'',如果等于'',则提示用户,并设置属性e.processOnServer=false,阻止在服务器端的代码运行。

e.processOnServer(true/false)
获取或设置一个值,程序是否在服务器端执行。 经查阅相关的资料,Aspx系统控件中,如果控件有AutoPostBack 属性,那么就可以使用e.processOnServer以控制代码的 执行是在客户端还是在服务器端。但processOnServer最终取决于AutoPostBack属性,如果控件 AutoPostBack ="false",那么processOnServer属性值将不起任何作用。
ASPxButton 客户端事件除Click外,还有CheckedChanged、GotFoucs、Init、LostFoucs等事件。另外ASPxButton还提供了一系列的客户端方法用来设置Aspxbutton的属性,如 SetText(value):设置Button的显示值; GetText():获取显示值;SetVisbile(bool):设置是否显示;GetVisbile():获取是否显示;
InCallback():获取一值,表示当前是否正在处理一个回调等等。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: