C# ASP.NET在数据列表和用户控件中的div中回发后保持滚动位置
我的情况是这样的:我有一个x轴可滚动的div,其中包含显示页码的按钮。这个div位于用户控件内的数据列表中,负责在我的站点上显示新闻 这是这个div的代码和带有页码的数据列表C# ASP.NET在数据列表和用户控件中的div中回发后保持滚动位置,c#,asp.net,user-controls,datalist,maintainscrollpositionon,C#,Asp.net,User Controls,Datalist,Maintainscrollpositionon,我的情况是这样的:我有一个x轴可滚动的div,其中包含显示页码的按钮。这个div位于用户控件内的数据列表中,负责在我的站点上显示新闻 这是这个div的代码和带有页码的数据列表 <div style="width:430px; overflow:auto; overflow-y:hidden; -ms-overflow-y:hidden; vertical-align:top; position:relative; top:-1px; "> <asp:Da
<div style="width:430px; overflow:auto; overflow-y:hidden; -ms-overflow-y:hidden; vertical-align:top; position:relative; top:-1px; ">
<asp:DataList ID="dlPaging" runat="server" OnItemCommand="dlPaging_ItemCommand" RepeatDirection="Horizontal"
OnItemDataBound="dlPaging_ItemDataBound">
<ItemTemplate>
<asp:Button ID="lnkbtnPaging" class="pagebutton" runat="server" CommandArgument='<%# Eval("PageIndex") %>'
CommandName="lnkbtnPaging" Text='<%# Eval("PageText") %>' CausesValidation="False" />
</ItemTemplate>
</asp:DataList>
</div>
回发后如何保持该div的x轴位置?我尝试了几个技巧,javascript,但我无法理解 有什么理由不使用UpdatePanel吗?我无法让它工作。我正在尝试添加触发器,但在查找页面按钮控件时失败:/它表示在UpdatePanel“UpdatePanel2”中找不到ID为“ContentPlaceholder 1\u News1\u dlPaging\u lnkbtnPaging\u 0”的控件。但是当我查找生成的HTML标记时,控件ID就可以了。我不知道该怎么办。asp.net中的是我还是用户控件?我们可以看到UpdatePanel的标签吗?找到解决方案了吗?我正在寻找类似的解决办法。。如果你有,请告诉我。我让它工作了。如果你现在需要的话,请找到我的答案1.我知道已经太晚了,但我最近面对了,并找到了解决办法。
<div id="divDtPaging" runat="server" visible="true" style="width: 50%; overflow: scroll; text-align: center">
<asp:DataList runat="server" ID="dtPaging" OnItemCommand="dtPaging_ItemCommand"
OnItemDataBound="dtPaging_ItemDataBound" RepeatDirection="Horizontal"
SeparatorStyle-Wrap="true" Style="height: auto">
<ItemTemplate>
<asp:LinkButton runat="server" ID="lnkbtnPaging" Text="PageText" CommandArgument="PageIndex" Style="padding-right: 5px">
</asp:LinkButton>
</ItemTemplate>
</asp:DataList>
</div>
<asp:HiddenField id="hdnScrollPos" runat="server"/>
<script type="text/javascript">
function BeginRequestHandler(sender, args)
{
document.getElementById('<%=hdnScrollPos.ClientID %>').value = document.getElementById('<%=divDtPaging.ClientID %>').scrollLeft;
}
function EndRequestHandler(sender, args) {
document.getElementById('<%=divDtPaging.ClientID %>').scrollLeft = document.getElementById('<%=hdnScrollPos.ClientID %>').value;
}
if (window.Sys && Sys.WebForms && Sys.WebForms.PageRequestManager) {
var prm = Sys.WebForms.PageRequestManager.getInstance()
prm.add_beginRequest(BeginRequestHandler);
prm.add_endRequest(EndRequestHandler);
}
</script>