2012-10-16 72 views
1

我正在使用updatepanel来避免回发,并且代码在IE8和Firefox中正常工作,但不在IE9中。我也尝试从codeplex安装最新的ajax工具包,但它也没有帮助我。请帮助我。我的代码是类似下面/ ....Ajax UpdatePanel无法在IE9中工作

<table width="800px"> 
           <tr> 
           <asp:UpdatePanel runat="server" ID="upCountry"> 
           <ContentTemplate> 
            <td class="TextLabelForHeader" width="300px"> 
             Country: 
             <asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ControlToValidate="ddlCountry" 
              ErrorMessage="*" InitialValue="Select.." ValidationGroup="VGHeader"></asp:RequiredFieldValidator> 
            </td> 
            <td align="left"> 
             <asp:DropDownList ID="ddlCountry" runat="server" OnSelectedIndexChanged="ddlCountry_SelectedIndexChanged" 
              AutoPostBack="true" OnDataBound="ddlCountry_DataBound" onchange="SelectCurrency(this);" 
              ValidationGroup="VGHeader"> 
             </asp:DropDownList> 
            </td> 
            <td align="left"> 
             &nbsp; 
            </td> 
            </ContentTemplate> 
            </asp:UpdatePanel> 
           </tr> 
           <tr> 
           <asp:UpdatePanel runat="server" ID="upCurrency"> 
           <ContentTemplate> 
            <td class="TextLabelForHeader" width="300px"> 
             Currency:&nbsp;&nbsp;&nbsp; 
            </td> 
            <td align="left"> 
             <asp:DropDownList ID="ddlCurrency" runat="server" ValidationGroup="VGHeader"> 
             </asp:DropDownList> 
            </td> 
            <td align="left"> 
             &nbsp; 
            </td> 
            </ContentTemplate> 
            </asp:UpdatePanel> 
           </tr> 
           <tr> 
            <td class="TextLabelForHeader" width="300px"> 
             Client: 
             <%--<asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server" 
                 ControlToValidate="ddlClient" ErrorMessage="*" InitialValue="Select.." 
                 ValidationGroup="VGHeader"></asp:RequiredFieldValidator>--%> 
             <asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server" ControlToValidate="txtClient" 
              ErrorMessage="*" ValidationGroup="VGHeader"></asp:RequiredFieldValidator> 
            </td> 
            <td align="left"> 
             <%-- <asp:DropDownList ID="ddlClient" runat="server" Height="16px" Width="143px" Enabled="false" 
                 OnDataBound="ddlClient_DataBound" onchange="DisplayTextbox(this);" ValidationGroup="VGHeader"> 
                </asp:DropDownList>--%> 
             <asp:TextBox ID="txtClient" runat="server" Width="143px" ReadOnly="true" ValidationGroup="VGHeader"></asp:TextBox> 
             <%--<div id="form_ProductContainer" style="display: none;"> 
                 <asp:TextBox ID="txtNewClientName" runat="server"></asp:TextBox> 
                </div>--%> 
            </td> 
            <td class="TextLabelForHeader" style="text-align: left;"> 
             <asp:Button ID="btnContinue" runat="server" OnClick="btnContinue_Click" Text="Continue" 
              ValidationGroup="VGHeader" /> 
            </td> 
           </tr> 
          </table> 
+0

这实际上是SharePoint 2010中的一个可视化webpart用户控件代码,并且我没有专门使用任何思想的sharepoint默认支持ajax的方法。如果我错了,请纠正我。 – user346514

回答

2

讨论:它是至关重要的,它使用IE9的是什么?如果不是,那么你可以强制它使用IE8进行渲染,并在页面或母版页的头部插入以下代码。

可能的解决方案:

<meta http-equiv="X-UA-Compatible" content="IE=IE8" /> 


更新的响应
发现的问题有:我看看你的代码,你有最后的TR元素内没有更新面板。我想现在代码原本在IE8中工作,因为你可能有另一个覆盖整个表的更新面板。

+0

它没有工作。我仍然看到页面刷新.... – user346514

+0

我翻遍了您的代码,发现了问题并更新了我的回复。欢呼声 – MVCKarl

+0

如果它解决了你的问题,请打勾。谢谢 – MVCKarl