为什么谷歌浏览器会在回发时重新加载整页?

时间:2010-09-27 03:20:50

标签: c# asp.net google-chrome

我正在创建我的第一个Asp.Net工具之一,然后我遇到了一个小凹凸。

目前我正在使用buttonclick进行回发,这会进行一些服务器端计算。然后,服务器端代码使用这些计算来改变div的内容。在IE和Firefox中发生回发时,div会按预期更新。

但是,在chrome中,所有回发都会完整刷新整个页面。造成这种情况的原因是什么方法可以绕过这种行为?

更新: ClientSide我有以下内容..

    <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中完全重新加载,即,但它没有显示它。这有效地掩盖了回发。但是,当我在chrome中测试时,任何回发都会在重新加载状态之前完全消隐页面。希望这清楚地说明了我的要求。此外,我的C#/ .Net使用率可能略有不足,我愿意对此进行评论。

1 个答案:

答案 0 :(得分:2)

据我了解,ASP.NET AJAX部分回发仅支持ASP.NET可以检测的浏览器。我听到的(不久前),即firefox和Safari,而不是Chrome。在这种情况下,它会转向完整的回发。

要实现页面更新,我建议您切换到jQuery或其他广泛支持的AJAX工具包。 (jQuery是微软的支持,如果这是一个问题)涉及更多的管道,但并不多。