日期:2014-05-17  浏览次数:20595 次

懂Dev控件AspxButton的达人进来帮帮忙
代码:
C# code
    

<dx:ASPxTextBox ID="ASPxTextBox1" runat="server" Width="99%" 
            CssFilePath="~/App_Themes/Aqua/{0}/styles.css" CssPostfix="Aqua" 
            SpriteCssFilePath="~/App_Themes/Aqua/{0}/sprite.css" 
            ClientInstanceName="ASPxTextBox1">
            <ValidationSettings Display="Dynamic">
                <ErrorFrameStyle ImageSpacing="4px">
                    <ErrorTextPaddings PaddingLeft="4px" />
                </ErrorFrameStyle>
                <RequiredField IsRequired="True" />
            </ValidationSettings>
        </dx:ASPxTextBox>


<dx:ASPxButton ID="btnUpload" runat="server" AutoPostBack="False" Text="提交" ClientInstanceName="btnUpload" 
            CssFilePath="~/App_Themes/Aqua/{0}/styles.css" CssPostfix="Aqua" 
            SpriteCssFilePath="~/App_Themes/Aqua/{0}/sprite.css">
              <ClientSideEvents Click="function(s, e) { UploadControl.Upload(); }" />
                                        </dx:ASPxButton>



   



页面上的ASPxTextBox添加了验证功能,不能为空。
ASPxButton设置了AutoPostBack="False",Click事件为UploadControl.Upload(); ,这个事件是执行页面上的一个UploadControl控件开始上传图片,实际应用中,单击提交按钮后,页面不管ASPxTextBox是否经过了验证都会执行上传操作,怎么才能单击按钮后,先判断页面上的其他控件是否经过了验证,然后再执行UploadControl.Upload();方法..

需要说明的是UploadControl控件添加了一些上传效果,弹出遮罩显示上传进度,所以才把ASPxButton设置了AutoPostBack="False"。。。

ASPxButton的Click事件改成 if(e.IsValid){ UploadControl.Upload(); }后还是不行。。

但是把ASPxButton设置了AutoPostBack="true",Click事件改成 if(e.IsValid){ UploadControl.Upload(); } 这样就可以了,但这样美中不足的是没有了上传效果。。。

先谢谢了。

------解决方案--------------------
<dxe:aspxtextbox id="txtnum" ClientInstanceName="txtnum" runat="server" cssfilepath="~/App_Themes/Glass/{0}/styles.css"
csspostfix="Glass" width="170px" EnableClientSideAPI="True">
<ValidationSettings ValidationGroup="stock">
<ErrorImage Url="~/App_Themes/Glass/Editors/edtError.png"></ErrorImage>

<ErrorFrameStyle ImageSpacing="4px">
<ErrorTextPaddings PaddingLeft="4px"></ErrorTextPaddings>
</ErrorFrameStyle>
<RequiredField IsRequired="True" />
<RegularExpression ErrorText="只能是整数" ValidationExpression="^-?/d+$" />
</ValidationSettings>
  
</dxe:aspxtextbox>

当提交给服务器的时候可以

 if(ASPxClientEdit.ValidateGroup(&quot;ValidateGroup的名称&quot;))
{

 

 //调用

 

callbackPanel.PerformCallback();

 

 

}