当前位置: 代码迷 >> ASP.NET >> |zyciis| 200分:奇怪的Asp.net AJAX有关问题 ViewState在页面后退的时候显示总是出错 多谢  
  详细解决方案

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

热度:8881   发布时间:2013-02-25 00:00:00.0
|zyciis| 200分:求一个奇怪的Asp.net AJAX问题 ViewState在页面后退的时候显示总是出错 谢谢  急
HTML code
<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>

C# code
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点多了还跑不了啊

谢谢


------解决方案--------------------------------------------------------

 Ajax 本身就不能后退呀
------解决方案--------------------------------------------------------
言之有理
------解决方案--------------------------------------------------------
一楼说的是啊
所以你要后退自己做个按钮设置操作内容
用了ajax后
浏览器的前进后退就没什么用了啊
------解决方案--------------------------------------------------------
这应该是ajax本身的特性决定的,如果想使用浏览器的前进后退,一般在页面中需要使用iframe来解决,楼主可以搜搜相关的解决方案
------解决方案--------------------------------------------------------
同意楼上的And1楼的,2楼的也不错
------解决方案--------------------------------------------------------
学习了

恩 顶了 !!呵呵呵 欢迎加入c#新群 63242231 共同学习
------解决方案--------------------------------------------------------
学习
------解决方案--------------------------------------------------------
学习!
------解决方案--------------------------------------------------------
探讨

Ajax 本身就不能后退呀

------解决方案--------------------------------------------------------
  相关解决方案