IE 10中的更新面板

时间:2013-08-28 06:08:38

标签: javascript asp.net ajax internet-explorer updatepanel

我在Asp.net中创建了一个示例程序,它可以在单击按钮时更新时间。此时间显示在标签中。按钮和标签都在更新面板内,说upd1。 以下是aspx代码

<script type="text/javascript" >
function fnhn() {

    __doPostBack("upd1","");
    return false;
}
</script>
</head>
<body>
<form id="form1" runat="server">
     <asp:ScriptManager id="ScriptManager1" runat="server" EnablePageMethods ="true"  >    </asp:ScriptManager> 
<div>
 <asp:UpdatePanel ID="upd1" runat ="server" ><ContentTemplate > 
 <asp:label runat="server" id="lbl_c" ></asp:label>
  <asp:button runat="server" id="btn_b" Text="Click" />
 </ContentTemplate>
 </asp:updatepanel>
</div>
</form>
</body>

以下是源代码。

Partial Class _Default
Inherits System.Web.UI.Page

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    lbl_c.Text = Date.Now.ToString
End Sub
End Class

现在面临的问题如下。我可以在按钮点击时更新此时间而不在​​IE 10以外的任何浏览器中进行任何回发。在IE10中,我的整个页面都会刷新。我显然不想发生这种情况。 Plz帮助我们。

在一个帖子中,我也通过以下方式了解IE10的用户代理。

Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
    If Request.UserAgent.ToLower.ToString.Contains("msie 10.0") Then
        Page.ClientTarget = "uplevel"
    End If
End Sub

哪个没帮我解决这个问题。 任何评论建议和解决方案都很有价值。

2 个答案:

答案 0 :(得分:0)

您可以查看您的IE10是否允许使用Cookie吗?如果您在某些时候禁用了cookie,那么会话将无法正常工作(如果基于cookie),因此AJAX会导致完整的回发。

答案 1 :(得分:0)

您是否尝试过添加EnablePartialRendering?这应该是默认值,但可以在其他地方覆盖。

<asp:ScriptManager id="ScriptManager1" runat="server" 
            EnablePageMethods="true" EnablePartialRendering="true" />