

























问题如题,如果返回的不是查询页面而是一个单纯的列表页面也就容易了网上有好多解决方法都是很不错的,可问题是现在返回要刷新的是一个查询页。不但要记录查询条件还要记录GridView的当前页。(下面A为查询页,B为修改页)
试过很多方法,比如在地址栏里传参数、Session里存放参数、禁用缓存、Server.Transfer()传参、弹出也面等都不能实现全部功能。最后想到了下面的办法虽不是很完美但实现了所要求的功能。
第一步:
在A页面添加一个HidenField设ID为hdRefresh,用来记录页面是否需要重新提交。
再添加一个HidenField设ID为hdCurrentPage,用来记录查询的时候是否需要记录GridView的当前页。
在page的onload事件里调用Refresh()方法,代码如下:
<asp:HiddenField ID="hdRefresh" runat="server" Value="false" />
<asp:HiddenField ID="hdCurrentPage" runat="server" Value="false" />
<script language="javascript" type="text/javascript">
function Refresh()
{
var hdRefresh = document.getElementById("hdRefresh");
var hdCurrentPage = document.getElementById("hdCurrentPage");
if(hdRefresh.value == "false")
{
hdRefresh.value = "true";
}
else
{
//window.location.reload();
hdCurrentPage.value = "true";
document.form1.submit();
}
}
</script>

protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
Query();
}
if (hdCurrentPage.Value == "true")
{
Query(GvPageSet1.CurrentInfo);
hdCurrentPage.Value = "false";
}
hdRefresh.Value = "false";
}

<asp:TemplateField ShowHeader="False" Visible="true">
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# "BillEdit.aspx?ID="+Eval("ID") %>' DataNavigateUrlFields="ID" Text="编辑" Target="_self"></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>

此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。