2009-06-19 65 views
0

我有一個顯示客戶訂單詳細信息的asp.net數據網格。 使用datalist和asp.net Linkbutton控件完成網格底部的分頁。 下面是代碼:將焦點設置在頁面頂部點擊asp.net鏈接按鈕

<asp:DataList ID="DataList2" runat="server" CellPadding="1" CellSpacing="1" 
     OnItemCommand="DataList2_ItemCommand" 
     OnItemDataBound="DataList2_ItemDataBound" RepeatDirection="Horizontal"> 
    <ItemTemplate> 
     <asp:LinkButton ID="lnkbtnPaging" runat="server" 
      CommandArgument='<%# Eval("PageIndex") %>' 
      CommandName="lnkbtnPaging" 
      Text='<%# Eval("PageText") %>' /> 
     <asp:Label runat="server" ID="lblPageSeparator" Text=" | " name=></asp:Label> 
    </ItemTemplate> 
</asp:DataList> 

當用戶點擊任何頁號(ie.Link按鈕),我需要設置焦點在頁面的頂部。

我該怎麼做?

謝謝!

回答

3

我認爲默認行爲是將頁面滾動位置設置回頁面的頂部。您的網頁中是否還有其他內容可能會覆蓋此行爲?

例如:

  1. 是一個UpdatePanel內的DataList控件?在這種情況下,當前滾動位置將保持在(部分)後退之後。因此,您需要自行將滾動位置重置爲頁面頂部。執行此操作的一種方法是爲PageRequestManager的EndRequest客戶端事件實現一個處理程序,該事件將設置滾動位置 - 此線程解釋how
  2. 頁面MaintainScrollPositionOnPostBack屬性是否設置爲true?
+0

感謝你的一些輸入...: 正如上面第1點所示,下面的代碼爲我工作! user74042 2009-06-21 00:06:16

1

您可以嘗試在頁面頂部設置一個已命名的錨點。這裏是一篇文章,解釋它http://www.w3schools.com/HTML/html_links.asp

+0

命名錨似乎不使用asp.net工作的LinkBut​​ton – user74042 2009-06-19 22:07:27

+0

如果是這樣的話,你總是可以只使用標準的HTML中標記的只有另一條線。這就像ASP.NET中的linkbutton,label,超鏈接和表格控件最好被html代替,在我看來, – 2009-06-22 13:51:31

0

在AJAX部分回發之後,您可能需要返回到ASPX頁面的頂部以顯示錯誤消息等。以下是我完成該操作的一種方法。您可以將以下JavaScript函數添加到您的ASPX頁面,然後使用ScriptManager.RegisterClientScriptBlock方法在需要的代碼中調用該方法。 ASP.NET C#代碼隱藏:

ScriptManager.RegisterClientScriptBlock(this, Page.GetType(), 
"ToTheTop", "ToTopOfPage();", true); 

的JavaScript:

<script type="text/javascript"> 
function ToTopOfPage(sender, args) { 
    setTimeout("window.scrollTo(0, 0)", 0); 
} 

您也可以只是JavaScript來利用你的按鈕的OnClientClick財產滾動到頁面頂部。但是這會導致每次單擊按鈕時發生此行爲,而不僅僅是當您希望它發生時。例如: <asp:Button id="bntTest" runat="server" Text="Test" OnClick="btn_Test" OnClientClick="javascript:window.scrollTo(0,0);" />

0
<asp:LinkButton ID="lbGonder" runat="server" CssClass="IK-get" ValidationGroup="ik" OnClick="lbGonder_Click" OnClientClick="ddd();" title="Gönder">Gönder</asp:LinkButton>` 
<script type="text/javascript"> 
var ddd = (function() { 
    $('body,html').animate({ 
     scrollTop: 300 
    }, 1453); 
    return false; 
});