2009-06-19 68 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; 
});