关于ASPxButton的一点注意

DevExpress控件功能确实非常的强大,但是初学用到的时候也会出现很多的问题。

以下记录一下关于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/>子节点。如下:
<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():获取一值,表示当前是否正在处理一个回调等等。


<dxe:ASPxButton ID="aspBtnCancel"
          ClientInstanceName="btnClientSubmit" runat="server" Text="取消"
          CommandName="Delete"   CommandArgument='<%# Bind("QuotNum") %>'
          CssFilePath="~/App_Themes/Glass/{0}/styles.css" CssPostfix="Glass"
          Enabled ="False" >
    <ClientSideEvents Click="function(s, e) { e.processOnServer= confirm('Are you sure?'); }" />  
    </dxe:ASPxButton>

 
    

其中e.processOnServer必须,否则无论确认是还是否都会执行服务端代码.



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值