asp.net下拉回发没有在firefox上工作

时间:2013-01-15 10:12:30

标签: c# javascript asp.net firefox

我正在使用放置在ajax tab容器内的dropdownlist。但即使我已将autopostback属性设置为true,它也不会回发。这只发生在firefox而不是IE或chrome.Can任何身体帮助我这个。我正在使用ajax工具包版本4.1.50731.0。

 <asp:TabContainer ID="TabContainer2" runat="server" Width="100%" CssClass="myTab"
    Height="2200px" ActiveTabIndex="0">
    <asp:TabPanel ID="TabPanel8" runat="server" HeaderText="Add Transaction">
        <ContentTemplate>
            <div>
                <table class="style1">

                    <tr>
                        <td class="style16">
                            &nbsp;
                        </td>
                        <td align="right" class="style15">
                            Select&#160;News Heading :&#160;&#160;
                        </td>
                        <td>
                            <asp:DropDownList ID="DropDownList1" runat="server" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged"
                                AutoPostBack="True" >
                            </asp:DropDownList>
                            <asp:RequiredFieldValidator ID="RequiredFieldValidator12" runat="server" ControlToValidate="DropDownList1"
                                ErrorMessage="Please Select News Heading" ValidationGroup="a" InitialValue="Select News Heading">*</asp:RequiredFieldValidator><asp:ValidatorCalloutExtender
                                    ID="RequiredFieldValidator12_ValidatorCalloutExtender" runat="server" Enabled="True"
                                    TargetControlID="RequiredFieldValidator12">
                                </asp:ValidatorCalloutExtender>
                            <asp:Label ID="Label3" runat="server"></asp:Label>
                        </td>
                        <td>
                            &#160;&#160;
                        </td>
                    </tr>
                    <tr>
                        <td class="style16">
                            &#160;&#160;
                        </td>
                        <td align="right" class="style15">
                            &#160;&#160;
                        </td>
                        <td>
                            &#160;&#160;
                        </td>
                        <td>
                            &#160;&#160;
                        </td>
                    </tr>
                    <tr>
                        <td class="style16">
                            &#160;&nbsp;
                        </td>
                        <td align="right" class="style15">
                            Select Sub Heading :&#160;
                        </td>
                        <td>
                            <asp:DropDownList ID="DropDownList2" runat="server" OnLoad="DropDownList2_Load">
                            </asp:DropDownList>
                            <asp:RequiredFieldValidator ID="RequiredFieldValidator14" runat="server" ControlToValidate="DropDownList2"
                                ErrorMessage="Please select sub heading" ValidationGroup="a" InitialValue="Select News Name">*</asp:RequiredFieldValidator><asp:ValidatorCalloutExtender
                                    ID="RequiredFieldValidator14_ValidatorCalloutExtender" runat="server" Enabled="True"
                                TargetControlID="RequiredFieldValidator14">
                            </asp:ValidatorCalloutExtender>
                        <asp:Label ID="Label4" runat="server"></asp:Label>
                    </td>
                    <td>
                        &#160;&nbsp;
                    </td>
                </tr>

            </ContentTemplate>
        </asp:TabPanel>
    </asp:TabContainer>

2 个答案:

答案 0 :(得分:0)

您似乎错过了内容模板中的结束</table></div>标记。

添加这些可以解决您的问题吗?

修改

你的javascript控制台(例如firefox中的firebug)会给你带来任何javascript错误吗?

答案 1 :(得分:0)

我假设您的问题的解决方案是:

  

如果验证失败,那么DropDownList将不会发布PostBack,因此请在DropDownList上禁用验证器,尝试一次。

需要注意的一些要点

    当您使用RequiredFieldValidator 时,
  1. Display="None"应该ValidatorCalloutExtender
  2. CausesValidation放在DropDownListRequiredFieldValidator
  3. 这将导致在服务器端自动触发验证。
  4. 在继续执行任何其他代码部分之前,请检查Page.IsValid事件处理程序中的SelectedIndexChanged