阿贾克斯的UpdatePanel不工作在IE9 [英] Ajax UpdatePanel not working in IE9

查看:88
本文介绍了阿贾克斯的UpdatePanel不工作在IE9的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用的UpdatePanel避免回发和code工作正常在IE8和Firefox而不是在IE9。我也试着从codePLEX安装最新的Ajax工具包,但它并没有帮助我either.Please帮助我。我的code是像/....

 <表格的宽度=800px>
                                &其中; TR>
                                < ASP:UpdatePanel中=服务器ID =upCountry>
                                <的ContentTemplate>
                                    < TD类=TextLabelForHeaderWIDTH =300px的>
                                        国家:
                                        < ASP:使用RequiredFieldValidator ID =RequiredFieldValidator4=服务器的ControlToValidate =ddlCountry
                                            的ErrorMessage =*与InitialValue =选择。ValidationGroup =VGHeader>< / ASP:使用RequiredFieldValidator>
                                    < / TD>
                                    < TD align =left>
                                        < ASP:DropDownList的ID =ddlCountry=服务器OnSelectedIndexChanged =ddlCountry_SelectedIndexChanged
                                            的AutoPostBack =真OnDataBound =ddlCountry_DataBound的onchange =SelectCurrency(本);
                                            ValidationGroup =VGHeader>
                                        < / ASP:DropDownList的>
                                    < / TD>
                                    < TD align =left>
                                        &功放; NBSP;
                                    < / TD>
                                    < /的ContentTemplate>
                                    < / ASP:UpdatePanel的>
                                < / TR>
                                &其中; TR>
                                < ASP:UpdatePanel中=服务器ID =upCurrency>
                                <的ContentTemplate>
                                    < TD类=TextLabelForHeaderWIDTH =300px的>
                                        货币:放大器; NBSP;&安培; NBSP;&安培; NBSP;
                                    < / TD>
                                    < TD align =left>
                                        < ASP:DropDownList的ID =ddlCurrency=服务器ValidationGroup =VGHeader>
                                        < / ASP:DropDownList的>
                                    < / TD>
                                    < TD align =left>
                                        &功放; NBSP;
                                    < / TD>
                                    < /的ContentTemplate>
                                    < / ASP:UpdatePanel的>
                                < / TR>
                                &其中; TR>
                                    < TD类=TextLabelForHeaderWIDTH =300px的>
                                        客户:
                                        <% - < ASP:使用RequiredFieldValidator ID =RequiredFieldValidator5=服务器
                                                        的ControlToValidate =ddlClient的ErrorMessage =*与InitialValue =选择。
                                                        ValidationGroup =VGHeader>< / ASP:使用RequiredFieldValidator>  - %GT;
                                        < ASP:使用RequiredFieldValidator ID =RequiredFieldValidator5=服务器的ControlToValidate =txtClient
                                            的ErrorMessage =*ValidationGroup =VGHeader>&所述; / asp的:使用RequiredFieldValidator>
                                    < / TD>
                                    < TD align =left>
                                        <% - < ASP:DropDownList的ID =ddlClient=服务器高度=16像素WIDTH =143px启用=假
                                                        OnDataBound =ddlClient_DataBound的onchange =DisplayTextbox(本); ValidationGroup =VGHeader>
                                                    < / ASP:DropDownList的>  - %GT;
                                        < ASP:文本框ID =txtClient=服务器WIDTH =143px只读=真正的ValidationGroup =VGHeader>< / ASP:文本框>
                                        <% - < D​​IV ID =form_ProductContainer的风格=显示:无;>
                                                        < ASP:文本框ID =txtNewClientName=服务器>< / ASP:文本框>
                                                    < / DIV>  - %GT;
                                    < / TD>
                                    < TD类=TextLabelForHeader的风格=文本对齐:左;>
                                        < ASP:按钮的ID =btnContinue=服务器的OnClick =btnContinue_Click文本=继续
                                            ValidationGroup =VGHeader/>
                                    < / TD>
                                < / TR>
                            < /表>
 

解决方案

讨论:这是至关重要的,它使用IE9的是?如果不是,那么你可能只是迫使它呈现为IE8具有以下code在页面或母版页的head部分插入。

可能的解决方案:

 < META HTTP-当量=X-UA-Compatible的内容=IE = IE8/>
 


更新的响应
已确定问题:我看看你的code和你的最后一个TR元素内没有更新面板。我现在想象,code,最初的工作在IE8,因为你可能有另一个更新面板,整个表盖。

I am using updatepanel to avoid the postback and the code is working fine in IE8 and firefox but not in IE9. I also tried installing latest ajax toolkit from codeplex but it did not help me either.Please help me with this. My code is something like below/....

<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>

解决方案

Discussion: Is it vital that it uses IE9 as is? If it isn't then you could just force it to render as IE8 with the following code inserted in the head section of the page or master page.

Possible Solution:

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


Updated Response
Identified Issue: I had a look at your code and you have no update Panel inside the last TR element. I imagine now that the code originally worked in IE8 because you probably had another update panel that covered the entire table.

这篇关于阿贾克斯的UpdatePanel不工作在IE9的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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