Page.IsValid无法与更新面板一起使用 [英] Page.IsValid not working with the update panels

查看:72
本文介绍了Page.IsValid无法与更新面板一起使用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我单击图像按钮时,光标返回到第一个文本框.
在后面的代码中我有这个吗?

when I click the image button the cursor goes back to the first textbox.
in the behind code I have this?

<br />
<pre lang="cs">protected void imgRegister_Click(object sender, ImageClickEventArgs e)<br />
       {<br />
<br />
           System.Threading.Thread.Sleep(2000);<br />
<br />
           if (Convert.ToInt32(search_age_start.SelectedValue) > Convert.ToInt32(search_age_end.SelectedValue))<br />
           {<br />
               lblMessage.Text = "Minimum age should be less than or equal to maximum age.";<br />
               search_age_start.Focus();<br />
               return;<br />
           }<br />
<br />
           if (ctrlCaptcha != null)<br />
           {<br />
               if (!ctrlCaptcha.ValidateCaptcha())<br />
               {<br />
                   lblMessage.Text = "Invalid Access Code, try again.";<br />
                   return;<br />
               }<br />
           }<br />
<br />
           if (Page.IsValid)<br />
           {</pre><br />





<br />
<pre lang="xml"><asp:UpdatePanel ID="UpdatePanel1" runat="server"><br />
        <ContentTemplate><br />
            <asp:ImageButton ID="imgRegister" runat="server" onmouseover="~/Images/Buttons/rollover2.jpg"<br />
                onmouseout="~/Images/Buttons/rollover1.jpg" Font-Bold="True" ImageUrl="~/Images/Buttons/rollover1.jpg"<br />
                OnClick="imgRegister_Click" /><br />
        </ContentTemplate><br />
    </asp:UpdatePanel><br />
    <asp:UpdateProgress ID="UpdateProgress1" runat="server"><br />
        <ProgressTemplate><br />
            <img alt="" runat="server" src="../../Images/ajax-loader.gif" /><br />
            Loading ...<br />
        </ProgressTemplate><br />
    </asp:UpdateProgress></pre><br />
<br />

推荐答案



要查看您的页面的一件事是,图像按钮没有CausesValidation ="true".

这是一个例子

在aspx页面上

Hi

One thing to look at your page is, there is no CausesValidation="true" for the image button.

Here is an example

On the aspx page

<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
    <asp:ScriptManager ID="script1" runat="server">
    </asp:ScriptManager>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server" Visible="true">
        <ContentTemplate>
            <asp:Label  runat="server" Text="This is a required field" ></asp:Label>
            <asp:TextBox ID="text1" runat="server" ></asp:TextBox>
              <asp:Label ID="validation_result"  runat="server" ></asp:Label>
            <asp:CustomValidator ID="CustomValidator1" runat="server"

                 ControlToValidate="text1"  OnServerValidate ="validateTextBox"></asp:CustomValidator>
                <asp:RequiredFieldValidator id="RequiredFieldValidator1" runat="server"

                ControlToValidate="Text1"

                ErrorMessage="Password Should Not Be Empty"

                Display="Dynamic">
            </asp:RequiredFieldValidator>
            <asp:ImageButton ID="imgRegister" runat="server"

                 Font-Bold="True" ImageUrl="~/App_Data/arrow.png"

                OnClick="imgRegister_Click"  CausesValidation="true"/>
         </ContentTemplate>
    </asp:UpdatePanel>

</asp:Content>



在后面的代码中...



In the code behind...

protected void imgRegister_Click(object sender, ImageClickEventArgs e)
{
    if (Page.IsValid == true)
    {
        this.validation_result.Text = "Validated";
    }
    else
    {
        this.validation_result.Text = "Password should be 8 or more in characters";
    }
}
protected void validateTextBox(object sender, ServerValidateEventArgs e)
{
    if (Convert.ToString(e.Value).Length > 7)
    {
        e.IsValid = true;
    }
    else
    {
        e.IsValid = false;
    }
}


这篇关于Page.IsValid无法与更新面板一起使用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆