|zyciis| 200分:求一个奇怪的Asp.net AJAX问题 ViewState在页面后退的时候显示总是出错 谢谢  急

Zyciis195 2008-12-07 10:29:32

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdateMain" runat="server">
<ContentTemplate>
<asp:Label ID="lblPageCount" runat="server" Text=""></asp:Label>
<asp:Button ID="btnPre" runat="server" Text="上一页" onclick="btnPre_Click" />
<asp:Button ID="btnNext" runat="server" Text="下一页" onclick="btnNext_Click" />
<a href="Default13.aspx">13页</a>
</ContentTemplate>
</asp:UpdatePanel>
</form>
</body>
</html>


using System;
using System.Collections;
using System.Data;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class CRMMember_Default11 : System.Web.UI.Page
{
public Int32 MyPageIndex
{
get
{
return (ViewState["MyPageIndex"] == null || Convert.ToInt32(ViewState["MyPageIndex"]) < 1) ? 1 : Convert.ToInt32(ViewState["MyPageIndex"]);
}
set
{
ViewState["MyPageIndex"] = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
BindList();
}

void BindList()
{
lblPageCount.Text = MyPageIndex.ToString();
}

protected void btnPre_Click(object sender, EventArgs e)
{
MyPageIndex -= 1;
BindList();
}
protected void btnNext_Click(object sender, EventArgs e)
{
MyPageIndex += 1;
BindList();
}
}




我在用ViewState来做保存分页的功能后
当翻页后
再点击到别一个页面
然后再点浏览器的后退
这时就发现问题了

比如
我现在翻页到第5页
然后点击到别一页
再点浏览器的后退
我的MyPageIndex总是变为1
但当我当击下一页的时候,
又可以正确的指定到第六页
然后我把Asp.net Ajax的UploadPanel删除后
后退可以正常显示第5页

那我上页的代码要实现Ajax又要点击后退的时候可以正常显示上一页的页数
那么我上页哪里错了呢
又怎么改啊

谢谢

星期天加班到10点多了还跑不了啊

谢谢
...全文
112 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq22345111 2008-12-09
  • 打赏
  • 举报
回复
好久没来
又见离歌
jiang_jiajia10 2008-12-09
  • 打赏
  • 举报
回复
AJAX禁止了后退,建议LZ用iframe来解决
jfd198512 2008-12-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zpcoder 的回复:]

Ajax 本身就不能后退呀
[/Quote]
返回的话 你又要写个传值 哎 失败!
LZ
学习了!
qinhl99 2008-12-09
  • 打赏
  • 举报
回复
学习!
勿语随风 2008-12-09
  • 打赏
  • 举报
回复
学习
yefengzhixia 2008-12-09
  • 打赏
  • 举报
回复
学习了

恩 顶了 !!呵呵呵 欢迎加入c#新群 63242231 共同学习
amandag 2008-12-08
  • 打赏
  • 举报
回复
这应该是ajax本身的特性决定的,如果想使用浏览器的前进后退,一般在页面中需要使用iframe来解决,楼主可以搜搜相关的解决方案
Zyciis195 2008-12-08
  • 打赏
  • 举报
回复
UP
zywhao 2008-12-08
  • 打赏
  • 举报
回复
同意楼上的And1楼的,2楼的也不错
橙子撸代码 2008-12-07
  • 打赏
  • 举报
回复
一楼说的是啊
所以你要后退自己做个按钮设置操作内容
用了ajax后
浏览器的前进后退就没什么用了啊
sunshine_anycall 2008-12-07
  • 打赏
  • 举报
回复
言之有理
zpcoder 2008-12-07
  • 打赏
  • 举报
回复

Ajax 本身就不能后退呀

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧