2014-10-31 57 views
1

我有一个web项目,使用一个主页面和五个图像按钮。每个图像按钮都使用重定向到其各个页面的点击事件。例如,删除asp.net页面中的postback blink

Public Event Click As ImageClickEventHandler 

Protected Sub btnHome_Click() Handles btnHome.Click 
    Me.Response.Redirect("/Home.aspx") 
End Sub 

问题是,几乎每次单击一个按钮时,页面加载时都会闪烁。

闪烁发生在IE和Chrome中,但不是Firefox。我试过以下元标记,在我的母版页中,没有成功。我已经使用了所有这些,只有不透明度和页面 - 没有不透明标签的情况下进入和退出,并且没有成功。任何帮助或建议将不胜感激。

<meta http-equiv="Page-Enter" content="blendTrans(Duration=0)"/> 
<meta http-equiv="Page-Exit" content="blendTrans(Duration=0)"/> 
<meta http-equiv="Page-Enter" content="Alpha(opacity=100)"/> 
+2

你是指“回传”眨眼吗?这是一个正常的行为。眨眼时间是浏览器获取和呈现HTML文件之间的时间。 – VAndrei 2014-10-31 14:10:47

+0

是的,但这是一个非常明显的眨眼,看起来很糟糕。 – 2014-10-31 14:21:10

+0

因此,它看起来像更新面板可能是解决方案。我以前从未使用过,可以将面板添加到我的母版页,还是需要为每个子页面添加一个面板? – 2014-10-31 14:37:00

回答

0

你似乎是描述“回传” 闪烁。不幸的是,造成这种眨眼的因素有很多。所以当你按下一个图像按钮时,你发送一个请求到服务器,要求一个新的HTML页面。浏览器解析HTML以进行渲染时,它可能显示为空白。

这眨眼可以由许多因素的影响:

  • 客户端的网络带宽
  • 服务器的吞吐能力
  • 测试计算机
  • 目标页面复杂
  • 的的速度目标页面内容大小
  • 目标页面嵌入脚本

随着前3个没有太多的事情要做(除了支付更多:))。你可以研究优化后者。您可以检查是否有非常大的图像或需要渲染的嵌入式内容,或服务器/客户端的复杂初始化函数。一个更新面板也可能是一个解决方案避免不必要的回发工作,可以在客户端在同一页完成。但是,如果您需要重定向,更新面板将不会很有用,因为您加载了一个新页面。

+0

使用图像按钮回传url属性会比使用重定向的点击事件更好吗? – 2014-10-31 14:46:46

+0

PostbackURL仍会触发回传。唯一的解决办法是使用UpdatePanel或其他Ajax方法,因为页面需要重新加载。 – Tim 2014-10-31 14:48:19

+0

我觉得有一点让我感到困惑的是,我假设,或许是错误的,当我使用母版页时,只有内容会发生变化,但是当单击按钮时,页面上的所有内容都会刷新,而不仅仅是部分在contentPlaceHolder中。我正在为每个子页面添加更新面板。我会看看是否有帮助。 – 2014-10-31 14:50:26