【发布时间】:2010-09-27 03:20:50
【问题描述】:
我正在创建我的第一个 Asp.Net 工具,但遇到了一个小问题。
目前,我正在对进行一些服务器端计算的 buttonclick 进行回发。然后,服务器端代码使用这些计算来更改 div 的内容。在 IE 和 Firefox 中,当回发发生时,div 会按预期更新。
但是,在 chrome 中,所有回发都会完全刷新整个页面。是什么导致了这种情况,有没有办法解决这种行为?
更新: 客户端我有以下..
<asp:Button ID="Button2" Style="float: right" runat="server"
OnClick="S_ButtonClick" Text="Calculate" />
调用一个方法总结成这样。
protected void S_ButtonClick(object sender, EventArgs e)
{
//Code parsing values from textboxes ect.
//Do Some Calculations
//Output Results
outputDiv.InnerHtml = "<h2>Foo</h2><br/>";
outputDiv.InnerHtml += "Bar: " + calcValue;
}
有可能当这个回发(如果我理解正确的话)发生时,它仍然在 Firefox 和 ie 中完全重新加载,但它没有显示出来。这有效地掩盖了回发。但是,当我在 chrome 中进行测试时,任何回发都会在重新加载状态之前使页面完全空白。希望这能明确我的要求。另外,我的 C#/.Net 使用可能有一些缺陷,我愿意在这些方面使用 cmets。
【问题讨论】:
-
AFAIK,除非您使用 AJAX,否则这是回发的预期行为。你在使用任何 AJAX 库吗?
-
您需要准确地提供有关您正在做什么的更多信息。通常,回发确实会导致整页刷新,所以听起来您在谈论 ASP.NET AJAX,而不是传统的回发。
-
我认为您在谈论回调,而不是回发。如果您使用更新面板并且在页面上运行任何 javascript,您可能需要确保它在 Chrome 中运行。有时,损坏的客户端验证器会导致更新面板出现问题,从而导致回发而不是回调。
-
啊,抽象出实际发送到浏览器的内容的语言的乐趣...
-
你确定在 IE 和 Firefox 中页面没有完全刷新???
标签: c# asp.net google-chrome