[英]Setting focus on top of the page on click of asp.net link button
我有一个显示客户订单详细信息的asp.net数据网格。 使用数据列表和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>
当用户单击任何页码(即“链接”按钮)时,我需要将焦点放在页面顶部。
我该怎么做呢?
谢谢!
我认为默认行为是将页面滚动位置设置回页面顶部。 您的页面中还有其他东西可能会覆盖此行为吗?
例如:
您可以尝试在页面顶部设置命名锚。 这是一篇说明它的文章http://www.w3schools.com/HTML/html_links.asp
在进行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
属性将JavaScript滚动到页面顶部。 但是,这将导致这种现象在每次单击按钮时发生,而不仅仅是在您希望它发生时发生。 例如: <asp:Button id="bntTest" runat="server" Text="Test" OnClick="btn_Test" OnClientClick="javascript:window.scrollTo(0,0);" />
<asp:Button id="bntTest" runat="server" Text="Test" OnClick="btn_Test" OnClientClick="javascript:window.scrollTo(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;
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.