2009-09-14 73 views
0

這個問題有點棘手,如果有什麼不明確的地方,請問解釋一下。控制靜態頁面

這happing了按照這一邏輯所有頁面:

  • 一條毒蛇的ValidationSummary在頁面的頂部
  • 一些客戶端驗證
  • 一個Telerik的RadUpload控制

當客戶端驗證器被觸發並且錯誤消息顯示在ValidationSummary控件中時,會發生問題。頁面上的每個控件都會「向下滑動」,以便爲ValidationSummary控件創建空間,但RadUpload保持在同一位置並最終位於某個其他控件的頂部。

如果我強制瀏覽器重新渲染頁面(例如將縮放比例更改爲125%,然後恢復爲100%),則會顯示RadUpload的位置(滑下以爲「驗證摘要」控制)。

有沒有人有解決這個問題的辦法?現在我正在嘗試使用JavaScript來強制刷新,但它不是那麼複雜......

+0

您可以提供有關頁面樣式的更多詳細信息(如果沒有鏈接) – 2009-09-15 12:46:44

回答

2

這很可能是問題在於頁面樣式 - 有position: relative bug for IE。如果存在滾動容器,請添加位置:相對於此容器,問題應該消失。

另一種方法是通過調用這樣一個腳本來 「重繪」 的RadUpload控制:通過添加以下CSS

var upload = document.getElementById('<%= RadUpload1.ClientID'); 
upload.style.cssText = upload.style.cssText; 

或觸發IE的hasLayout

.RadUpload { zoom: 1 !important } 

(選擇取決於您使用的套件版本 - 我假設在2009年第一季度之後使用ASP.NET AJAX)

+0

該頁面不可用於公共訪問..不滾動...現在我保持我以前的猜測,問題是RadUpload。我已經替換了自定義驗證程序的必需字段驗證程序,並且因爲這會強制服務器往返,所以它解決了我的問題。 但是,這只是一個解決方法,而不是一個解決方案... – Sergio 2009-09-15 13:27:46

+0

我已經添加了更多的建議,我的答案 - 我希望他們會幫助。 – 2009-09-15 14:58:37