的RequiredFieldValidator导致验证服务器上即使禁用验证程序(的CausesValidation ="假") [英] RequiredFieldValidator causes validation on Server even if validator is disabled(CausesValidation="false")

查看:115
本文介绍了的RequiredFieldValidator导致验证服务器上即使禁用验证程序(的CausesValidation ="假")的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我设置的CausesValidation =false以我的取消按钮,但是当我点击取消按钮,异常(箭头)被显示为秒部分页面后loads.I试了很多办法通过​​添加组名称禁用验证和EnableClientScript属性= false来验证但这些不能帮我解决这个问题。即使我检查多个线程,但没有人给任何机构过这样的问题来了solution.If请帮助我。

 <表ID =form1的=服务器>
< D​​IV CLASS =AdminContent>
    < ASP:标签ID =Label1的=服务器的CssClass =BreadcrumbActiveBig文本=组成员/>
    < ASP:的ScriptManager ID =ScriptManager1=服务器>
    < / ASP:ScriptManager的>
    < BR />
    < BR />
    < ASP:HiddenField ID =HiddenFieldProfile=服务器/>
    < ASP:FormView控件DefaultMode =编辑ID =FormView1=服务器的DataSourceID =PermGroupObjectDataSource1
        在preRender =FormView1_ preRender>
        <&EditItemTemplate的GT;
            <表>
                &所述; TR>
                    < TD align =left合并单元格=3>
                        < ASP:按钮的ID =btnSave=​​服务器的OnClick =btnSave_Click文本=保存WIDTH =67px
                            的CssClass =ButtonS1/>
                        < ASP:按钮的ID =btnCancel=服务器的OnClick =btnCancel_Click文本=取消
                            的CssClass =ButtonS1的CausesValidation =FALSE/>
                    < / TD>
                < / TR>
                &所述; TR>
                    &所述; TD>
                        < ASP:标签ID =lblGrpName=服务器文本=组名:WIDTH =138px/>
                    < / TD>
                    &所述; TD>
                        < ASP:文本框ID =GroupNameTextBoxMAXLENGTH =50=服务器文本='<%#绑定(组名)%>'
                            WIDTH =337px只读=假/>
                        < ASP:的RequiredFieldValidator ID =rqrgFldVldtr_GroupName的ControlToValidate =GroupNameTextBox
                            显示=动态的ErrorMessage =&放大器; LT;元:获取ResourceKey =RequiredFieldValidator1Resource2
                            =服务器>< / ASP:&的RequiredFieldValidator GT;
                    < / TD>
                < / TR>
                &所述; TR>
                    &所述; TD>
                        < ASP:标签ID =lblGrpDesc​​r=服务器文本=集团简介:WIDTH =138px/>
                    < / TD>
                    &所述; TD>
                        < ASP:文本框ID =GroupDesc​​rTextBoxMAXLENGTH =255=服务器文本='<%#绑定(GroupDesc​​r)%>'
                            WIDTH =337px只读=假/>
                    < / TD>
                < / TR>
                &所述; TR>
                    < ASP:面板ID =managedByPanel=服务器可见=假>
                        &所述; TD>
                            < ASP:标签ID =lblManagedByDescr=服务器文本=管理机构:WIDTH =138px/>
                        < / TD>
                        &所述; TD>
                            < ASP:DropDownList的ID =managedByDropDownList=服务器>
                                < ASP:ListItem的值=0文本=管理/>
                                < ASP:ListItem的值=1文本=AP职员管理和放大器;放大器;联系/>
                                < ASP:ListItem的值=2文本=POC管理和放大器;放大器;联系/>
                            < / ASP:DropDownList的>
                        < / TD>
                    < / ASP:面板>
                < / TR>
                &所述; TR>
                    < ASP:面板ID =lblFilterPanel=服务器可见=假>
                        &所述; TD>
                            < ASP:标签ID =LabelFilter=服务器文本=排除在文件过滤器WIDTH =150像素/>
                        < / TD>
                        &所述; TD>
                            < ASP:复选框ID =chbExcludefromDocFilter=服务器选中='<%#绑定(ExcludeFromUserFilter)%>' />
                        < / TD>
                    < / ASP:面板>
                < / TR>
                &所述; TR>
                    < TD VALIGN =顶>
                        < ASP:标签ID =lblMembers=服务器文本=成员:WIDTH =80px/>
                    < / TD>
                    &所述; TD>
                        < ASP:的UpdatePanel ID =UpdatePanel1=服务器>
                            <&的ContentTemplate GT;
                                < D​​IV>
                                    < ASP:列表框ID =lbxMembers=服务器风格=溢出:汽车;宽度:500像素;
                                        高度:150像素;的DataSourceID =MembersObjectDataSource1DataTextField ='LISTNAME
                                        DataValueField =UNAME的SelectionMode =多/>
                                    < BR />
                                    < ASP:ObjectDataSource控件ID =MembersObjectDataSource1=服务器DataObjectTypeName =System.Collections.Generic.List`1 [Accenture.CSTPrague.eAPI.GroupMember,EAPI,版本= 1.0.0.0,文化=中性公钥= NULL]]
                                        SelectMethod =FetchGroupMembers的TypeName =Accenture.CSTPrague.eAPI.WebDB_Perm
                                        UpdateMethod =StoreGroupMembers>
                                        < SelectParameters>
                                            < ASP:SessionParameter名称=o的SessionField =oPermGroupTYPE =对象/>
                                        < / SelectParameters>
                                    < / ASP:ObjectDataSource控件>
                                < / DIV>
                                < ASP:按钮的ID =btnDeleteSelected=服务器的OnClick =btnDeleteSelected_Click
                                    文本=删除选定的WIDTH =106px的CssClass =ButtonS1风格=保证金:4PX 0像素8像素2px的; />
                            < /&的ContentTemplate GT;
                            <&触发器GT;
                                < ASP:AsyncPostBackTrigger控件ID =btnDeleteSelected事件名称=点击/>
                            < /触发器>
                        < / ASP:的UpdatePanel>
                    < / TD>
                < / TR>
                &所述; TR>
                    &所述; TD>
                        < ASP:标签ID =lblUserName=服务器文本=用户名:WIDTH =141px/>
                    < / TD>
                    &所述; TD>
                        < ASP:的UpdatePanel ID =UpdatePanel2=服务器>
                            <&的ContentTemplate GT;
                                < ASP:面板ID =PANEL1=服务器DefaultButton =btnAdd>
                                    <表>
                                        &所述; TR>
                                            < TD VALIGN =顶>
                                                <埃森哲:lookupcontrol ID =UserLookup=服务器lookupcommand =USRMAXLENGTH =100
                                                    的ValidationGroup =ADDUSERdisablevalidation =真/>
                                            < / TD>
                                            &所述; TD>
                                                < ASP:的CustomValidator ID =cuvUserName=服务器的ValidationGroup =ADDUSER显示=动态
                                                    的ErrorMessage =下; EnableClientScript =假OnServerValidate =cuvUserName_ServerValidate
                                                    的ControlToValidate =UserLookupValidateEmptyText =真/>
                                            < / TD>
                                            < TD VALIGN =顶>
                                                < ASP:按钮的ID =btnAdd=服务器的OnClick =btnAdd_Click文本=添加用户的ValidationGroup =ADDUSER
                                                    的CausesValidation =真的CssClass =ButtonS1风格=保证金:2px的0像素8像素2px的; />
                                            < / TD>
                                        < / TR>
                                    < /表>
                                < / ASP:面板>
                            < /&的ContentTemplate GT;
                            <&触发器GT;
                                < ASP:AsyncPostBackTrigger控件ID =btnAdd事件名称=点击/>
                            < /触发器>
                        < / ASP:的UpdatePanel>
                    < / TD>
                < / TR>
                < TR风格=垂直对齐:顶部>
                    < ASP:面板ID =queryConditionPanel=服务器可见=假>
                        &所述; TD>
                            < ASP:标签ID =lblQueryCondition=服务器文本=查询&安培; NBSP;条件:WIDTH =138px/>
                        < / TD>
                        &所述; TD>
                            <埃森哲:lengthlimitedmultilinetextbox ID =txtQueryCondition=服务器文本='<%#绑定(QueryCondition)%>'
                                风格=WIDTH:500px的文本模式=多行MAXLENGTH =1000HEIGHT =100像素的CssClass =txtbox/>
                        < / TD>
                    < / ASP:面板>
                < / TR>
            < /表>
        < / EditItemTemplate中>
        <&InsertTemplate则GT;
            GID:
            < ASP:文本框ID =GidTextBox=服务器文本='<%#绑定(Gid的)%>' />< BR />
            组名:
            < ASP:文本框ID =GroupNameTextBoxMAXLENGTH =50=服务器文本='<%#绑定(组名)%>' />< BR />
            ID:
            < ASP:文本框ID =IdTextBox=服务器文本='<%#绑定(ID)%>'>< / ASP:文本框>< BR />
            GroupDesc​​r:
            < ASP:文本框ID =GroupDesc​​rTextBoxMAXLENGTH =255=服务器文本='<%#绑定(GroupDesc​​r)%>' />< BR />
            ExcludeFromUserFilter:
            < ASP:复选框ID =chbExcludefromDocFilter=服务器选中='<%#绑定(ExcludeFromUserFilter)%>' />< BR />
            成员:
            < ASP:文本框ID =MembersTextBox=服务器文本='<%#绑定(成员​​)%GT;' />< BR />
            < ASP:LinkBut​​ton的ID =InsertButton=服务器的CausesValidation =真的CommandName =插入
                文本=插入/>
            < ASP:LinkBut​​ton的ID =InsertCancelButton=服务器的CausesValidation =FALSE的CommandName =取消
                文本=取消/>
        < / InsertTemplate则>
        <&ItemTemplate中GT;
            GID:
            < ASP:标签ID =GidLabel=服务器文本='<%#绑定(Gid的)%>' />< BR />
            组名:
            < ASP:标签ID =GroupNameLabel=服务器文本='<%#绑定(组名)%>' />< BR />
            ID:
            < ASP:标签ID =IdLabel=服务器文本='<%#绑定(ID)%GT;' />< BR />
            GroupDesc​​r:
            < ASP:标签ID =GroupDesc​​rLabel=服务器文本='<%#绑定(GroupDesc​​r)%>' />< BR />
            <% - ExcludeFromUserFilter:LT; ASP:标签ID =lblExcludefromDocFilter=服务器文本='<%#绑定(ExcludeFromUserFilter)%>' />< BR /> - %GT;
            成员:
            < ASP:标签ID =MembersLabel=服务器文本='<%#绑定(成员​​)%GT;' />< BR />
            < ASP:LinkBut​​ton的ID =EditButton=服务器的CausesValidation =FALSE的CommandName =编辑
                文本=编辑/>
        < / ItemTemplate中>
    < / ASP:FormView控件>
    < ASP:标签ID =lblMsg=服务器前景色=红/>
    < ASP:ObjectDataSource控件ID =PermGroupObjectDataSource1=服务器DataObjectTypeName =Accenture.CSTPrague.eAPI.PermGroup
        SelectMethod =FetchPermGroupFromDB的TypeName =Accenture.CSTPrague.eAPI.WebDB_Perm
        UpdateMethod =StorePermGroupToDBOnUpdating =PermGroupObjectDataSource1_Updating>
        < SelectParameters>
            < ASP:SessionParameter名称=o的SessionField =oPermGroupTYPE =对象/>
        < / SelectParameters>
    < / ASP:ObjectDataSource控件>
< / DIV>
< /表及GT;


解决方案
在您的验证控制

设置的ValidationGroup =XXX,并提交按钮。(不要取消按钮)

尝试

 < ASP:的RequiredFieldValidator ID =rqrgFldVldtr_GroupName
             的ControlToValidate =GroupNameTextBox**的ValidationGroup =XXX**显示=动态的ErrorMessage =&放大器; LT;
                            元:获取ResourceKey =RequiredFieldValidator1Resource2
              =服务器>
           < / ASP:&的RequiredFieldValidator GT;< ASP:按钮的ID =btnSave=​​服务器的OnClick =btnSave_Click**的ValidationGroup =XXX**文本=保存
            WIDTH =67px的CssClass =ButtonS1/>            < ASP:按钮的ID =btnCancel=服务器的OnClick =btnCancel_Click
           文本=取消的CssClass =ButtonS1的CausesValidation =FALSE/>

I set CausesValidation="false" to my cancel button,But when I click the Cancel button ,the exception(arrow) is displaying for fraction of seconds after the page loads.I tried many ways to disable by adding group name to validator and EnableClientScript property=false to validator but these couldn't help me resolve the problem. Even I checked many threads but no one give the solution.If any body came across this problem please help me.

<form id="form1" runat="server">
<div class="AdminContent">
    <asp:Label ID="Label1" runat="server" CssClass="BreadcrumbActiveBig" Text="Group Membership" />
    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>
    <br />
    <br />
    <asp:HiddenField ID="HiddenFieldProfile" runat="server" />
    <asp:FormView DefaultMode="Edit" ID="FormView1" runat="server" DataSourceID="PermGroupObjectDataSource1"
        OnPreRender="FormView1_PreRender">
        <EditItemTemplate>
            <table>
                <tr>
                    <td align="left" colspan="3">
                        <asp:Button ID="btnSave" runat="server" OnClick="btnSave_Click" Text="Save" Width="67px"
                            CssClass="ButtonS1" />
                        <asp:Button ID="btnCancel" runat="server" OnClick="btnCancel_Click" Text="Cancel"
                            CssClass="ButtonS1" CausesValidation="false" />
                    </td>
                </tr>
                <tr>
                    <td>
                        <asp:Label ID="lblGrpName" runat="server" Text="Group Name:" Width="138px" />
                    </td>
                    <td>
                        <asp:TextBox ID="GroupNameTextBox" MaxLength="50" runat="server" Text='<%# Bind("GroupName") %>'
                            Width="337px" ReadOnly="false" />
                        <asp:RequiredFieldValidator ID="rqrgFldVldtr_GroupName" ControlToValidate="GroupNameTextBox"
                            Display="Dynamic" ErrorMessage="&lt;" meta:resourcekey="RequiredFieldValidator1Resource2"
                            runat="server"></asp:RequiredFieldValidator>
                    </td>
                </tr>
                <tr>
                    <td>
                        <asp:Label ID="lblGrpDescr" runat="server" Text="Group Description:" Width="138px" />
                    </td>
                    <td>
                        <asp:TextBox ID="GroupDescrTextBox" MaxLength="255" runat="server" Text='<%# Bind("GroupDescr") %>'
                            Width="337px" ReadOnly="false" />
                    </td>
                </tr>
                <tr>
                    <asp:Panel ID="managedByPanel" runat="server" Visible="false">
                        <td>
                            <asp:Label ID="lblManagedByDescr" runat="server" Text="Managed by:" Width="138px" />
                        </td>
                        <td>
                            <asp:DropDownList ID="managedByDropDownList" runat="server">
                                <asp:ListItem Value="0" Text="Admin" />
                                <asp:ListItem Value="1" Text="AP Clerk admin &amp; Admin" />
                                <asp:ListItem Value="2" Text="POC admin &amp; Admin" />
                            </asp:DropDownList>
                        </td>
                    </asp:Panel>
                </tr>
                <tr>
                    <asp:Panel ID="lblFilterPanel" runat="server" Visible="false">
                        <td>
                            <asp:Label ID="LabelFilter" runat="server" Text="Exclude From Document Filter" Width="150px" />
                        </td>
                        <td>
                            <asp:CheckBox ID="chbExcludefromDocFilter" runat="server" Checked='<%# Bind("ExcludeFromUserFilter") %>' />
                        </td>
                    </asp:Panel>
                </tr>
                <tr>
                    <td valign="top">
                        <asp:Label ID="lblMembers" runat="server" Text="Members:" Width="80px" />
                    </td>
                    <td>
                        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                            <ContentTemplate>
                                <div>
                                    <asp:ListBox ID="lbxMembers" runat="server" Style="overflow: auto; width: 500px;
                                        height: 150px;" DataSourceID="MembersObjectDataSource1" DataTextField='ListName'
                                        DataValueField="UName" SelectionMode="Multiple" />
                                    <br />
                                    <asp:ObjectDataSource ID="MembersObjectDataSource1" runat="server" DataObjectTypeName="System.Collections.Generic.List`1[[Accenture.CSTPrague.eAPI.GroupMember, eAPI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"
                                        SelectMethod="FetchGroupMembers" TypeName="Accenture.CSTPrague.eAPI.WebDB_Perm"
                                        UpdateMethod="StoreGroupMembers">
                                        <SelectParameters>
                                            <asp:SessionParameter Name="o" SessionField="oPermGroup" Type="Object" />
                                        </SelectParameters>
                                    </asp:ObjectDataSource>
                                </div>
                                <asp:Button ID="btnDeleteSelected" runat="server" OnClick="btnDeleteSelected_Click"
                                    Text="Delete Selected" Width="106px" CssClass="ButtonS1" Style="margin: 4px 0px 8px 2px;" />
                            </ContentTemplate>
                            <Triggers>
                                <asp:AsyncPostBackTrigger ControlID="btnDeleteSelected" EventName="Click" />
                            </Triggers>
                        </asp:UpdatePanel>
                    </td>
                </tr>
                <tr>
                    <td>
                        <asp:Label ID="lblUserName" runat="server" Text="User name:" Width="141px" />
                    </td>
                    <td>
                        <asp:UpdatePanel ID="UpdatePanel2" runat="server">
                            <ContentTemplate>
                                <asp:Panel ID="panel1" runat="server" DefaultButton="btnAdd">
                                    <table>
                                        <tr>
                                            <td valign="top">
                                                <accenture:lookupcontrol id="UserLookup" runat="server" lookupcommand="usr" maxlength="100"
                                                    validationgroup="addUser" disablevalidation="true" />
                                            </td>
                                            <td>
                                                <asp:CustomValidator ID="cuvUserName" runat="server" ValidationGroup="addUser" Display="Dynamic"
                                                    ErrorMessage="<" EnableClientScript="false" OnServerValidate="cuvUserName_ServerValidate"
                                                    ControlToValidate="UserLookup" ValidateEmptyText="true" />
                                            </td>
                                            <td valign="top">
                                                <asp:Button ID="btnAdd" runat="server" OnClick="btnAdd_Click" Text="Add User" ValidationGroup="addUser"
                                                    CausesValidation="true" CssClass="ButtonS1" Style="margin: 2px 0px 8px 2px;" />
                                            </td>
                                        </tr>
                                    </table>
                                </asp:Panel>
                            </ContentTemplate>
                            <Triggers>
                                <asp:AsyncPostBackTrigger ControlID="btnAdd" EventName="Click" />
                            </Triggers>
                        </asp:UpdatePanel>
                    </td>
                </tr>
                <tr style="vertical-align: top">
                    <asp:Panel ID="queryConditionPanel" runat="server" Visible="false">
                        <td>
                            <asp:Label ID="lblQueryCondition" runat="server" Text="Query&nbsp;Condition:" Width="138px" />
                        </td>
                        <td>
                            <accenture:lengthlimitedmultilinetextbox id="txtQueryCondition" runat="server" text='<%# Bind("QueryCondition") %>'
                                style="width: 500px" textmode="MultiLine" maxlength="1000" height="100px" cssclass="txtbox" />
                        </td>
                    </asp:Panel>
                </tr>
            </table>
        </EditItemTemplate>
        <InsertItemTemplate>
            Gid:
            <asp:TextBox ID="GidTextBox" runat="server" Text='<%# Bind("Gid") %>' /><br />
            GroupName:
            <asp:TextBox ID="GroupNameTextBox" MaxLength="50" runat="server" Text='<%# Bind("GroupName") %>' /><br />
            Id:
            <asp:TextBox ID="IdTextBox" runat="server" Text='<%# Bind("Id") %>'></asp:TextBox><br />
            GroupDescr:
            <asp:TextBox ID="GroupDescrTextBox" MaxLength="255" runat="server" Text='<%# Bind("GroupDescr") %>' /><br />
            ExcludeFromUserFilter:
            <asp:CheckBox ID="chbExcludefromDocFilter" runat="server" Checked='<%# Bind("ExcludeFromUserFilter") %>' /><br />
            Members:
            <asp:TextBox ID="MembersTextBox" runat="server" Text='<%# Bind("Members") %>' /><br />
            <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert"
                Text="Insert" />
            <asp:LinkButton ID="InsertCancelButton" runat="server" CausesValidation="False" CommandName="Cancel"
                Text="Cancel" />
        </InsertItemTemplate>
        <ItemTemplate>
            Gid:
            <asp:Label ID="GidLabel" runat="server" Text='<%# Bind("Gid") %>' /><br />
            GroupName:
            <asp:Label ID="GroupNameLabel" runat="server" Text='<%# Bind("GroupName") %>' /><br />
            Id:
            <asp:Label ID="IdLabel" runat="server" Text='<%# Bind("Id") %>' /><br />
            GroupDescr:
            <asp:Label ID="GroupDescrLabel" runat="server" Text='<%# Bind("GroupDescr") %>' /><br />
            <%--ExcludeFromUserFilter: <asp:Label ID="lblExcludefromDocFilter" runat="server" Text='<%# Bind("ExcludeFromUserFilter") %>' /><br />--%>
            Members:
            <asp:Label ID="MembersLabel" runat="server" Text='<%# Bind("Members") %>' /><br />
            <asp:LinkButton ID="EditButton" runat="server" CausesValidation="False" CommandName="Edit"
                Text="Edit" />
        </ItemTemplate>
    </asp:FormView>
    <asp:Label ID="lblMsg" runat="server" ForeColor="Red" />
    <asp:ObjectDataSource ID="PermGroupObjectDataSource1" runat="server" DataObjectTypeName="Accenture.CSTPrague.eAPI.PermGroup"
        SelectMethod="FetchPermGroupFromDB" TypeName="Accenture.CSTPrague.eAPI.WebDB_Perm"
        UpdateMethod="StorePermGroupToDB" OnUpdating="PermGroupObjectDataSource1_Updating">
        <SelectParameters>
            <asp:SessionParameter Name="o" SessionField="oPermGroup" Type="Object" />
        </SelectParameters>
    </asp:ObjectDataSource>
</div>
</form>

解决方案

Set ValidationGroup="xxx" in your validate control and submit button.(don't cancel button")

Try

<asp:RequiredFieldValidator ID="rqrgFldVldtr_GroupName" 
             ControlToValidate="GroupNameTextBox" **ValidationGroup="xxx"** Display="Dynamic" ErrorMessage="&lt;"
                            meta:resourcekey="RequiredFieldValidator1Resource2" 
              runat="server">
           </asp:RequiredFieldValidator>

<asp:Button ID="btnSave" runat="server" OnClick="btnSave_Click"  **ValidationGroup="xxx"** Text="Save" 
            Width="67px" CssClass="ButtonS1"/>

            <asp:Button ID="btnCancel" runat="server" OnClick="btnCancel_Click" 
           Text="Cancel" CssClass="ButtonS1" CausesValidation="false"/>

这篇关于的RequiredFieldValidator导致验证服务器上即使禁用验证程序(的CausesValidation =&QUOT;假&QUOT;)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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