我有一个asp.net数据网格,显示客户订单详细信息。 网格底部的分页是使用datalist和asp.net Linkbutton控件完成的。 这是代码:
<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按钮)时,我需要将焦点设置在页面顶部。
我该怎么做?
谢谢!
答案 0 :(得分:3)
我认为默认行为是将页面滚动位置设置回页面顶部。您网页中还有其他内容可能会覆盖此行为吗?
例如:
答案 1 :(得分:1)
您可以尝试在页面顶部设置命名锚点。这是一篇解释它的文章http://www.w3schools.com/HTML/html_links.asp
答案 2 :(得分: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);
}
您也可以使用按钮的OnClientClick
属性滚动到页面顶部。但是这会导致每次单击按钮时发生此行为,而不是仅在您希望它发生时发生。例如:
<asp:Button id="bntTest" runat="server"
Text="Test" OnClick="btn_Test" OnClientClick="javascript:window.scrollTo(0,0);" />
答案 3 :(得分: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;
});