我已經在Asp.net中創建了一個示例程序,該程序通過單擊按鈕來更新時間。這一次顯示在一個標籤中。按鈕和和標籤都在更新面板中說upd1。 以下是aspx代碼IE 10中的更新面板
<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
這沒有幫助我擺脫這個問題。 任何評論建議和解決方案都是有價值的。
'如果Request.UserAgent.ToLower.ToString.Contains( 「MSIE 10.0」)'....警告:** **非常謹慎使用用戶代理字符串來識別瀏覽器。將它用於任何重要的事情被認爲是不好的做法,因爲UA字符串可能對你說謊,因爲它在用戶的控制之下。另外,IE11 UA字符串完全不同,因此當用戶升級時,您的支票將無法使用。 – Spudley