阿贾克斯的UpdatePanel不工作在IE9 [英] Ajax UpdatePanel not working in 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:文本框>
<% - < DIV 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">
</td>
</ContentTemplate>
</asp:UpdatePanel>
</tr>
<tr>
<asp:UpdatePanel runat="server" ID="upCurrency">
<ContentTemplate>
<td class="TextLabelForHeader" width="300px">
Currency:
</td>
<td align="left">
<asp:DropDownList ID="ddlCurrency" runat="server" ValidationGroup="VGHeader">
</asp:DropDownList>
</td>
<td align="left">
</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屋!