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

C# 为什么谷歌浏览器会在回发时重新加载整个页面?,c#,asp.net,google-chrome,C#,Asp.net,Google Chrome,我正在创建我的第一个Asp.Net工具之一,我遇到了一个小问题 目前,我正在一个按钮上做一些服务器端计算的回发。然后,服务器端代码使用这些计算来更改div的内容。在IE和Firefox中,当发生回发时,div会按预期更新 然而,在chrome中,所有回发都会对整个页面进行完全刷新。这是什么原因造成的?有没有办法避免这种行为 更新: 客户端我有以下几点 <asp:Button ID="Button2" Style="float: right" runat="server" OnCl

我正在创建我的第一个Asp.Net工具之一,我遇到了一个小问题

目前,我正在一个按钮上做一些服务器端计算的回发。然后,服务器端代码使用这些计算来更改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;

    }
protectedvoid S_按钮单击(对象发送方,事件参数e)
{
//代码解析来自文本框等的值。
//做一些计算
//输出结果
outputDiv.InnerHtml=“Foo
”; outputDiv.InnerHtml+=“条:”+calcValue; }

有可能当这个回发(如果我理解正确的话)发生时,它仍然在firefox和ie中完全重新加载,但它没有显示出来。这有效地掩盖了回发。然而,当我在chrome中测试时,任何回发都会在重新加载状态之前完全清空页面。希望这能澄清我的问题。另外,我的C#/.Net使用可能有点缺陷,我愿意对此发表评论。

据我所知,ASP.Net AJAX部分回发仅在ASP.Net能够检测到的浏览器上支持。我最近一次听到的是ie、firefox和Safari,而不是Chrome。在这种情况下,它求助于全额回发


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

AFAIK,这是回发时的预期行为,除非您使用AJAX。你在使用AJAX库吗?你需要提供更多关于你在做什么的信息。通常情况下,回发确实会导致整个页面刷新,因此听起来您谈论的是ASP.NET AJAX,而不是传统的回发。我认为您谈论的是回调,而不是回发。如果您正在使用更新面板,并且在页面上运行任何javascript,您可能需要确保它在Chrome中工作。有时损坏的客户端验证程序会导致更新面板出现问题,导致回发而不是回调。啊,语言的乐趣是抽象实际发送到浏览器的内容……你确定在IE和firefox中,页面没有完全刷新吗???那么这是否允许我在单击复选框之类的内容时执行必要的状态更新和服务器端代码执行,而不执行回发?正确。通过javascript,您可以使用“$.ajax”函数调用服务器上的页面。页面将在服务器上执行,您可以获取响应(html或其他)并将其附加到div或页面上的任何内容。我发布了我的解决方案作为答案,但我会接受你的,因为它似乎更合适。