Флажок не отвечает внутри панели обновления C # - PullRequest
0 голосов
/ 24 февраля 2010

У меня есть флажок, RequiredFieldValidator и текстовое поле с расширителем маски редактирования

Я хочу изменить свойства элемента управления программно, когда я установил флажок, но проблема в том, что при проверке ничего не произошло. Я вернул контрольный пост и добавил триггеры. когда поставить точку останова и идти с кодом, шаг за шагом будет проходить через код, но ничего не изменится.

Пожалуйста, посмотрите мой код и посоветуйте, как решить эту проблему Спасибо,

 <asp:UpdatePanel ID="UPanelContacts" runat="server">

    <ContentTemplate>
        <asp:Panel ID="PContactsInfo" runat="server" GroupingText="Personal Information"
            BorderStyle="Dotted" Style="position: absolute; top: 103px; left: 221px; height: 468px;
            width: 811px; margin-top: 69px;">
 <asp:TextBox ID="txtHomePhone" runat="server" Style="top: 147px; left: 543px; position: absolute;
                height: 22px; width: 128px" AutoPostBack="True" ></asp:TextBox>
            <cc1:MaskedEditExtender ID="txtHomePhone_MaskedEditExtender" runat="server" CultureAMPMPlaceholder=""
                CultureCurrencySymbolPlaceholder="" CultureDateFormat="" CultureDatePlaceholder=""
                CultureDecimalPlaceholder="" CultureThousandsPlaceholder="" CultureTimePlaceholder=""
                Enabled="True" Mask="(999)999-9999" TargetControlID="txtHomePhone" 
                AutoComplete="False">
            </cc1:MaskedEditExtender>
            <asp:RegularExpressionValidator ID="REV_HomePhone" runat="server" ErrorMessage="Please enter valid Home Phone"
                Style="position: absolute; top: 177px; left: 476px; width: 226px;" 
                Display="Dynamic" ControlToValidate="txtHomePhone"
                ValidationExpression="\d{3}?\d{3}\d{4}"></asp:RegularExpressionValidator>
 <asp:CheckBox ID="chkIntphoneHome" runat="server" Text="Internation Code" Style="position: absolute;
                top: 113px; left: 549px;" AutoPostBack="True" EnableViewState="False" oncheckedchanged="chkIntphoneHome_CheckedChanged" 
                 />

  </asp:Panel>

    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="chkIntphoneHome" 
            EventName="CheckedChanged" />

    </Triggers>
    </asp:UpdatePanel>

Код позади: .................................

    protected void chkIntphoneHome_CheckedChanged(object sender, EventArgs e)
    {
        if (chkIntphoneHome.Checked == true)
        {
            txtHomePhone.Enabled = true;

            txtHomePhone.Text = "";
            txtHomePhone_MaskedEditExtender.Mask = "";
            txtHomePhone.MaxLength = 12;
            //REV_HomePhone.ValidationExpression = @"\d{9}|d{10}|d{11}|d{12}";
            REV_HomePhone.ErrorMessage = "Please enter at less 9 numbers";

        }
        else
        {
            txtHomePhone.Text = "";

           REV_HomePhone.ValidationExpression = @"\d{3}?\d{3}\d{4}";
             REV_HomePhone.ErrorMessage="Please enter valid Home Phone";
             txtHomePhone_MaskedEditExtender.Mask = "(999)999-9999";


        }

Ответы [ 2 ]

0 голосов
/ 25 февраля 2010

Проблема из этой строки: txtHomePhone_MaskedEditExtender.Mask = "";

У меня не может быть пустой маски с MaskedEditExtender.

Спасибо

0 голосов
/ 24 февраля 2010

Попробуйте удалить EnableViewstate = "false" из вашего флажка. Кроме того, случайно ли состояние просмотра отключено на самой странице?

...