2011-05-02 18 views
1

我已經有幾個頁面,帶有帶有asp文本框的UpdatePanel和提交按鈕。但是,它們都不會觸發Chrome或Safari的自動填充/自動填充功能,因爲您之前輸入的內容會被建議。Webkit瀏覽器自動完成功能無法在ASP中的文本框中工作UpdatePanel

它似乎正常工作正常回發,但在UpdatePanels內我似乎無法得到這個工作。

在我看來,這應該是一個已知的問題,但我找不到任何有關它的信息。

+0

你說「但裏面的UpdatePanel我似乎無法得到這個工作,」你是什麼意思?我明白,該網頁不會回傳,但您嘗試籌集哪個活動? – DavRob60 2011-05-02 15:33:35

+1

那麼頁面會回發,但瀏覽器似乎並不認爲它是「提交」。因此,在瀏覽器收集我之前提交的數據的地方,並在字段中輸入時再次提示它,它根本不收集任何信息。在其他瀏覽器如Firefox或IE9中,這些數據收集得很好。但在諸如Chrome或Safari之類的webkit瀏覽器中,它不被認爲是實際的數據提交。 – 2011-05-03 11:45:21

+1

您確定更新面板在Webkit瀏覽器中正常工作嗎?我聽說有人遇到過這個問題:http://lesson8.blogspot.com/2011/11/update-panel-not-working-in-google.html – 2012-09-21 11:57:20

回答

0

您是否嘗試過更改UpdateMode屬性?

+0

我有,但無濟於事。 – 2012-09-27 07:16:58

0

我想你遇到了一個經典問題ASP.NET UpdatePanel控件和jQuery

的問題如下:

的jQuery代碼(在你的情況下,它是自動完成的,但它可以是任何東西),在頁面加載工作正常,但它停止部分回發後的工作。如果是這種情況,您需要了解幾個有關使用UpdatePanel控件使用jQuery的信息。

首先,$(document).ready中定義的所有事件綁定在第一次部分回發之後停止工作(並且我假設您的按鈕單擊導致部分回發)。這只是ASP.NET的工作方式。那麼你如何解決它?

好吧,有幾種方法可以解決這個問題。一個典型的建議是用$(document).ready替代AJAX自己的pageLoad事件。這可能會解決一個問題,但它很可能會導致更多問題,因爲現在您將在每個部分回發中綁定事件,從而導致在單個事件上重複執行事件處理程序。在執行任何綁定之前,您可以通過調用解除綁定來解決一些問題。對於簡單的事件綁定,您可以繼續使用帶有實時功能的$(document).ready(而不是點擊,懸停等)。

我沒有使用jQuery的插件與UpdatePanel的,所以我不能肯定你需要做什麼說什麼,但一旦你明白髮生了什麼,它不應該是很難找到正確的方法。要了解更多關於這個問題和可能的解決方案,請閱讀Dave Ward的文章$(document).ready() and pageLoad()是不一樣的! (該文章包括幾個例子)。

希望這可能有幫助!

+0

嗯,不,我認爲你誤解了這個問題(這完全是我的錯,因爲我無法找到我想描述的行爲的一個通用定義)。問題在於,當您使用類型爲「submit」的按鈕在字段中輸入內容時,瀏覽器保存的信息。然後,當你輸入其他東西時,你的瀏覽器(不是網站,就像jQuery自動完成的情況一樣)給你一個以前輸入的列表。使用更新面板時,該信息不會以某種原因存儲在webkit瀏覽器中。 – 2012-09-27 07:18:52

1

看起來Chrome瀏覽器在完整發布/提交事件時記住了這些輸入值。 SO中還有兩個關於同一問題的問題。

browser autocomplete/saved form not work in ajax requestHow to store to browser auto-complete/auto-fill when using AJAX calls instead of standard form submit

我想假一提交到另一個頁面,取得動作和「NoContent」狀態代碼,以便鉻會記得值。也沒有運氣。如果它能起作用,它仍然不是一個好辦法。

0

我有同樣的問題由OP確定。然而,原因與其他答案不同。

我的問題是由<asp:LinkButton>觸發的回發未被瀏覽器提交爲表單。

例子:

<asp:LinkButton runat="server" OnClick="codebehind_function">Click here</asp:LinkButton>

添加PostBackUrl屬性定了!

<asp:LinkButton runat="server" OnClick="codebehind_function" PostBackUrl="#">Click here</asp:LinkButton>

相關問題