我试图找出为什么我的UpdatePanel在ASP.NET应用程序中如此缓慢(在Button1的回发之后):
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="MyNamespace.WebForm1" %>
<%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="cc1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<cc1:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"/>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
</ContentTemplate>
</asp:UpdatePanel>
</form>
</body>
</html>
代码背后的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace MyNamespace
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)//this is slow!!
{
Button btn = sender as Button;
btn.Text = DateTime.Now.ToString("hhmmssfff");
}
}
}
我在StackOverflow中搜索,但我找不到直接的答案。 任何人都知道可能加快这一点的事情吗?
当我使用http://Junior-PC运行web应用程序时,我看到了更快的UpdatePanel按钮回发。但是当我使用http://localhost时速度相当慢。
常规Web应用程序与此Web应用程序之间的唯一区别在于Web应用程序属性 - &gt; Web 标签 - &gt; 服务器部分,其中标有使用本地IIS Web服务器 - &gt; Project Url :http://localhost/和覆盖应用程序根URL 。
答案 0 :(得分:0)
如果您使用的是Firefox,请不要忘记在中禁用IPv6(在URL中输入about:config)。除此之外,代码看起来很好。常规回发的速度是多少?试过其他浏览器?
答案 1 :(得分:0)
请尝试使用经典脚本管理器:
asp:ScriptManager
而不是:
cc1:ToolkitScriptManager.
Morover请取消注册AjaxControlToolkit,因为在这种情况下它是不必要的。让我们知道它有帮助。