2012-10-23 137 views
4

我有Telerik控件RadPanelBar的滾動問題。頁面處於自動刷新。在頁面刷新RadPanelBar滾動向上。我用JavaScript處理這個。以下是圖片。Radpanelbar滾動問題

enter image description here

下面是代碼。它的經銷商聯繫人滾動工作正常,但不適用於工作人員。我正在嘗試以同樣的方式(方法)爲工作人員保持滾動位置。

<script type="text/javascript"> 

    $(".rpSlide ul").scroll(function() { 
     SaveStafftScrollPosition();    
    }); 

    function SaveStaffScrollPosition(){ 
     yPos = $(".rpSlide ul").scrollTop();   
    } 

    function ReturnStaffScrollPosition() { 
     $(".rpSlide ul").scrollTop(yPos);   
    } 

    function OnResponseEnd(sender ,eventArgs){ 
     ReturnStaffScrollPosition(); 
    } 

    function OnRequestStart(sender ,eventArgs){ 
     SaveStafftScrollPosition(); 
    } 

在具有一段代碼HTML。

<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" 
     ClientEvents-OnRequestStart="OnRequestStart" 
     ClientEvents-OnResponseEnd="OnResponseEnd" 
     OnAjaxRequest="RadAjaxManager1_AjaxRequest"> 
    //some code here 
</telerik:RadAjaxManager> 

問題是這個它保存滾動位置零爲員工,當我向下滾動。 爲什麼它總是將滾動位置保存爲零,即使我向下滾動到中間/結尾,工作人員的聯繫方式也是如此?

+0

經銷商和員工名單共享'rpSlide' css類嗎?我想你只能保存經銷商ul的scrollTop。 –

+1

不,他們沒有分享。我以同樣的方式爲Deelelrs保存scrollTop,但在$(「對於經銷商」)中有不同的id。 – Mubarak

+0

那麼,經銷商ul的容器沒有'.rpSlide'類?嘗試在瀏覽器中執行此代碼'$(「。rpSlide ul」).length'並檢查返回的值 –

回答

1

您是否嘗試過使用@Page標記的MaintainScrollPositionOnPostback屬性並將AutoEventWireup屬性設置爲false

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="YourPage.aspx.vb" 
MaintainScrollPositionOnPostback="true" Inherits="YourPageClass" %> 

MSDN文檔

AutoEventWireup

指示頁的事件是否自動裝配。 如果啓用事件自動裝配,則爲true;否則,是錯誤的。默認值爲 爲true。有關更多信息,請參閱ASP.NET Web服務器控件事件 模型。

MaintainScrollPositionOnPostback

指示回發後是否將用戶 返回到相同的位置在客戶端瀏覽器。如果 用戶應返回到相同的位置,則返回true;否則,是錯誤的。 默認值爲false。

:開發人員可以通過設置 的maintainScrollPostitionOnPostback屬性定義所有頁面此屬性(請注意,它是 在配置文件中區分大小寫)的 Web.config文件中的元素。

+0

我也試過這個,但沒有工作。 – Mubarak