我正在創建一個我的第一個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使用情況可能存在一些小缺陷,我願意對此發表評論。
AFAIK,除非您使用AJAX,否則這是回發時的預期行爲。你在使用任何AJAX庫嗎? – InSane 2010-09-27 03:23:59
你需要提供更多關於你在做什麼的信息。通常情況下,回發確實會導致整個頁面刷新,因此聽起來像您在談論ASP.NET AJAX,而不是傳統的回傳。 – 2010-09-27 03:24:02
我認爲你在談論回調,而不是回傳。如果您使用的是更新面板,並且您在網頁上運行了任何JavaScript,則可能需要確保它在Chrome中運行。有時,斷開的客戶端驗證器會導致更新面板中的問題,導致回發而不是回調。 – 2010-09-27 03:27:29