为什么以下代码在IE中执行部分渲染但在FF中不执行?
在FF中,更新面板外部的时间也会刷新,在IE中则不然。
<form id="form1" runat="server">
<div>
<%=DateTime.Now.ToLongTimeString() %>
</div>
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<p>New time is <%=DateTime.Now.ToLongTimeString() %></p>
<asp:Button ID="Button1" runat="server" Text="Go get it" />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Button1" />
</Triggers>
</asp:UpdatePanel>
</form>
答案 0 :(得分:2)
我可以知道您使用的是哪个版本的Firefox吗? 我在Firefox 3.0和Firefox 3.5(干净安装 - 没有插件)上测试了这个。
如果我单击按钮只有新时间刷新,则外部时间不会。所以部分渲染有效。
如果你使用的是Firefox 3.0或3.5,你可以创建一个新的firefox profile来测试吗?
答案 1 :(得分:0)
Oleg对AsyncPostBackTrigger上的EventName属性的评论可能是正确的。但是,我想补充一点,在这种情况下不需要显式定义触发器,因为Button包含在UpdatePanel中。来自包含元素的事件默认触发Async Postback,因此不需要。
答案 2 :(得分:0)
你已经在FF中禁用了javascript,它正在执行完整的回发。 : - )