Как мне проверить одно поле на основе данных в другом в той же таблице на моем веб-сайте с динамическими данными?

#asp.net #input #asp.net-dynamic-data

#asp.net #входные данные #asp.net-динамические-данные

Вопрос:

У меня есть таблица на веб-сайте my Dynamic Data, в которой есть поле основного телефонного номера и поле страны. У меня есть регулярное выражение для поля телефона, которое проверяет внутренние телефонные номера США и международные телефонные номера. Как я мог бы написать в своем приложении динамических данных, что если в поле Страна выбрана страна, отличная от США, то следует использовать регулярное выражение международного телефона?

 <asp:GridView ID="GridView1" runat="server" DataSourceID="GridDataSource" EnablePersistedSelection="true"
        AllowPaging="True" AllowSorting="True" CssClass="DDGridView"
        RowStyle-CssClass="td" HeaderStyle-CssClass="th" CellPadding="6" AutoGenerateColumns="false" AutoGenerateEditButton="true" AutoGenerateSelectButton="true" AutoGenerateDeleteButton="true">
        <Columns>                    
            <%--<asp:TemplateField>
                <ItemTemplate>
                    <asp:DynamicHyperLink runat="server" Action="Edit" Text="Edit"
                    />amp;nbsp;<asp:LinkButton runat="server" CommandName="Delete" Text="Delete"
                        OnClientClick='return confirm("Are you sure you want to delete this item?");'
                    />amp;nbsp;<asp:DynamicHyperLink runat="server" Text="Details" />
                </ItemTemplate>
            </asp:TemplateField>--%>

            <asp:DynamicField DataField="CA_AgencyName" HeaderText="Agency Name" />
            <asp:DynamicField DataField="CA_AgencyAcronym" HeaderText="Official Acronym"/>
            <asp:DynamicField DataField="CA_AgencyAcronym_SOLID" HeaderText="SOLID Acronym"/>
            <asp:DynamicField DataField="CA_AgencyHomePageURL" UIHint="Url" HeaderText="Web Address"/>
            <asp:DynamicField DataField="CA_AgencyContact" HeaderText="Email/Contact Page"/>
            <asp:DynamicField DataField="CA_AgencyCredentialType" HeaderText="Credential Type"/>
            <asp:DynamicField DataField="CA_AgencyStreetAddress1" HeaderText="Address"/>
            <asp:DynamicField DataField="CA_AgencyStreetAddress2" HeaderText="Address Cont."/>
            <asp:DynamicField DataField="CA_AgencyCity" HeaderText="City"/>
            <asp:DynamicField DataField="CA_AgencyState" HeaderText="State"/>
            <asp:DynamicField DataField="CA_AgencyZip" HeaderText="Zip"/>
            <asp:DynamicField DataField="CA_AgencyCountry" HeaderText="Country" />
            <asp:DynamicField DataField="CA_AgencyPhonePrimary" HeaderText="Primary Phone"/>
            <asp:DynamicField DataField="CA_AgencyPhonePrimaryExtension" HeaderText="Primary Extension"/>
            <asp:DynamicField DataField="CA_AgencyPhoneSecondary" HeaderText="Secondary Phone"/>
            <asp:DynamicField DataField="CA_AgencyRecordAddedUserID" HeaderText="Added By"/>
            <asp:DynamicField DataField="CA_AgencyRecordUpdatedDate" HeaderText="Date Changed"/>
            <asp:DynamicField DataField="CA_AgencyRecordUpdatedUserID" HeaderText="Changed By"/>
            <asp:DynamicField DataField="DOL_ORG_ID" HeaderText="DOL ORG ID"/>
        </Columns>

        <PagerStyle CssClass="DDFooter"/>        
        <PagerTemplate>
            <asp:GridViewPager runat="server" />
        </PagerTemplate>
        <EmptyDataTemplate>
            There are currently no items in this table.
        </EmptyDataTemplate>
    </asp:GridView>
 

Ответ №1:

Похоже, вам нужно CompareValidator :

 <asp:CompareValidator ID="CompareValidator1" runat="server" 
    ControlToValidate="MyControl1" 
    ControlToCompare="MyControl2" 
    Operator="GreaterThanEqual" 
    Type="Integer">
</asp:CompareValidator>