2010-08-02 59 views
0

我有一些linkbuttons來更新我的gridview在頁面中間。每次我點擊編輯或刪除等窗口滾動到頁面上回到頂部。我希望它能夠專注於grideview。我試過一個JavaScript函數,但由於某種原因,它沒有工作。asp:linkbutton(導航到特定頁面部分在回發)

(編輯:下面的工作就滾動而言,但防止回發)

這裏是我試過

<script type="text/javascript" language="javascript"> 

    function goto() { 

     window.scrollTo(10, 1100); 

    } 

</script> 

<asp:LinkButton ID="lbtnGo" runat="server" OnClientClick="javascript:goto();return false;">GO</asp:LinkButton> 

source

我怎樣才能做到這一點?

回答

1

您是否在頁面聲明中使用<%@ Page MaintainScrollPositionOnPostback="true" %>

Regards

+0

這似乎工作,但我現在我的瀏覽器顯示一個彈出「第0行堆棧溢出「每次我點擊一個鏈接。頁面中的其他代碼不是我的,所以其他一些函數可能會將其移動?我只注意到它在回發中並沒有一路走到最前面。 – nooob 2010-08-02 15:39:04

+0

Hummm,奇怪,也許你可以在論壇http://forums.asp.net/t/1536471.aspx和http://forums.asp.net/t/1373552.aspx – uvita 2010-08-02 15:50:29

+0

看到你的鏈接工作的建議: Page.SetFocus(myGridView); – nooob 2010-08-02 15:58:14

0

客戶端事件在服務器端觸發。所以,即使您將窗口滾動到正確的位置 - 回發後,您將返回到頂部。您可以將下面的代碼添加到您的服務器端LinkBut​​ton的Click事件處理程序:

if (!this.IsStartupScriptRegistered("ScrollToGrid")) 
    { 
     String scriptString = "<script language=\"JavaScript\">"; 
     scriptString += "window.scrollTo(10, 1100);"; 
     scriptString += "</script>"; 
     this.RegisterStartupScript("ScrollToGrid", scriptString); 
    } 

這回發後的JavaScript塊添加到您的網頁

+0

和我鏈接功能linkbutton以同樣的方式? OnClientClick =「javascript:goto(); return false; 因爲這似乎不起作用,所以我一定錯過了某些東西。回發後註冊後如何調用函數 – nooob 2010-08-02 15:54:05