【发布时间】:2012-12-23 16:09:53
【问题描述】:
我正在显示这样的 Datagrid 并邀请用户进行选择...
<div id="gradesDiv" style="overflow: auto; width: 380px; height: 300px">
<asp:DataGrid id="gradesGrid"
BorderWidth="1"
CellPadding="3"
AutoGenerateColumns="true"
runat="server">
<Columns>
<asp:ButtonColumn HeaderText="Select Item"
ButtonType="LinkButton"
Text="Select"
CommandName="Select">
</asp:ButtonColumn>
</Columns>
</asp:DataGrid>
</div>
(在代码隐藏中添加了其他三列)。但是当用户进行选择时,会执行回发并且滚动位置丢失。我希望能够重置 div 以显示所选项目。有谁知道怎么做?
我试过添加
MaintainScrollPositionOnPostback="true"
到asp,但它没有帮助。我试图在代码隐藏中保持滚动位置,但 gradesDiv 似乎对代码隐藏不可用。
【问题讨论】:
-
如果您使用的是 .NET 4.0,您可以尝试设置 gridview 的
EnablePersistedSelection="true" -
@deni,感谢您的建议:我使用的是 .Net 4.0,但如果我将它放在 DataGrid 或 div 中,它就不起作用。
-
将数据网格放在更新面板中
-
我找到了一个解决方案here,一旦我注意到需要滚动的是
div而不是DataGrid。