Gridview:用户点击后如何恢复页面位置

时间:2011-06-13 19:15:24

标签: asp.net

我在页面上有一个包含10个页面的gridview控件,在该gridview列中我有一个超链接,用户可以点击该链接,它将转到不同的页面。

带有gridview控件的mainpage.aspx:

<asp:GridView ID="gv" Width="100%" runat="server" AllowPaging="true"/>
<Columns>

 <asp:TemplateField ShowHeader="true"> 
  <ItemTemplate>
      <asp:Label ID="lblTitle" runat="server" Text='<%# Eval("Title") %>' />
           <asp:HyperLink id="hlView" runat="server">View Users</asp:HyperLink> 
 </ItemTemplate>
 ......................
 ......................
 .......................


public void gv_RowDataBound(object sender, GridViewRowEventArgs e)
{
  if (e.Row.RowType == DataControlRowType.DataRow)
  {
    HyperLink hl = e.Row.FindControl("hlView") as HyperLink;
    Customers t = e.Row.DataItem;
    hl.NavigateUrl = "User.aspx?Id=" + t.Id;
    ..................
    ......................

在我的User.aspx页面上

我有

<a href="#" onclick="javascript:history.go(-1);return true;">Back To Page</a> 

我的问题是:

这是我遇到的scanrio,不知道如何解决这个问题。

让我说,我在第7页的mainpage.aspx上,然后点击链接,它会将我带到user.aspx页面,当我点击BAck to Page时它将从user.aspx开始将带我到页面,但我将登陆第1页而不是第7页

如何恢复或维护页码并返回到我来自的同一页?

有办法吗?

2 个答案:

答案 0 :(得分:0)

你怎么试

<a href="javascript:history.back();" target="_self">Go Back Page</a>

如果没有问题,您可以随时创建一个Session [“PrevPage”]并将该页面名称存储在该会话中,并在您单击后再使用它。但这不是首选方式。

编辑: 使用aspx页面中的Session。

<a href='<%=Session["PrevPage"]%>'>Back To Page</a> 

答案 1 :(得分:0)

会话状态是你的朋友。您可以将结果集与结果集页一起存储到会话中,也可以只在会话中存储页面并查询数据。

我只是不记得你是否使用了page_int或preload事件 - 其中一个......它将在页面加载时工作....

正如Wicked Coder所说使用Session [“PrevPage”],填写page_loaded事件,点击事件