• 网站首页
  • 涉税提问
  • 财税法规
  • 税收筹划
  • 优惠政策
  • 案例解析
  • 培训中心
  • 财富工具
  • 房产专题
  • 会计范文
中财税帮助

去向导航

  • 常见问题
  • 费用核算
  • 负债核算
  • 会计报表
  • 利润核算
  • 收入核算
  • 外汇核算
  • 资本核算
  • 资产核算
  • 更多...

常用分类

  • 浏览器
  • Windows
  • 音乐/电影
  • 网站开发
  • 游戏
  • 办公自动化

中财税帮助系统

2008-10-7

欢迎您登陆并使用中国财税咨询中心为您免费提供的资料,交流,学习为一体的平台!

如果您在使用中遇到什么问题,请您不要吝啬,一定要写信给我们!!

Email:Shellapi@126.com 期待您的来信,或指导批语!

帮助内难免有收集的资料,如果侵犯了您的仅力,请您来信告知,我们马上删除或更新处理!

文章搜索--请输入关键词:

页面无限跳转间如何保存页面状态(2)

更多2008-10-7 日更新内容!
    解决方法的实现

    以上分析过了之后,我们来看如何实现他:

    class DataInfo:这个类用于保存数据状态,一般而言,也就是每个DataGrid对应一个:

    [Serializable()]

    public class DataInfo

    {

    private string dataName;

    private Hashtable searchParams;

    private Hashtable otherParams;

    private int currentPage;

    private string sortExpression;

    private string itemID;



    public DataInfo(string dataName)

    {

    this.dataName = dataName;

    }



    /// <summary>

    /// 数据名

    /// </summary>

    public string DataName

    {

    get { return dataName; }

    }

    /// <summary>

    /// 查询参数

    /// </summary>

    public Hashtable SearchParams

    {

    get { return searchParams; }

    set { searchParams = value; }

    }



    /// <summary>

    /// 获取其他参数

    /// </summary>

    public Hashtable OtherParams

    {

    get { return otherParams; }

    set { otherParams = value; }

    }



    /// <summary>

    /// 获取当前页

    /// </summary>

    public int CurrentPage

    {

    get { return currentPage; }

    set { currentPage = value; }

    }



    /// <summary>

    ///获取排序方式

    /// </summary>

    public string SortExpression

    {

    get { return sortExpression ;}

    set { sortExpression = value; }

    }



    /// <summary>

    /// 获取要显示在当前页的项的ID

    /// </summary>

    public string ItemID

    {

    get { return itemID; }

    set { itemID = value; }

    }

    }



    class DataInfoList:这个类包装承载DataInfo的动态数组,限定数组输入输出的数据类型

    [Serializable()]

    public class DataInfoList

    {

    private ArrayList dataInfoList = new ArrayList();



    public DataInfo this[int index]

    {

    get

    {

    return (DataInfo)dataInfoList[index];

    }

    set

    {

    if (((DataInfo)dataInfoList[index]).DataName == value.DataName || this[value.DataName] == null)

    {

    dataInfoList[index] = value;

    }

    else

    {

    throw new Exception("There have a DataInfo used this Name yet!");

    }

    }

    }



    public DataInfo this[string dataName]

    {

    get

    {

    for (int i = 0; i < dataInfoList.Count; i++)

    {

    if (this[i].DataName == dataName)

    {

    return this[i];

    }

    }

    return null;

    }

    set

    {

    for (int i = 0; i < dataInfoList.Count; i++)

    {

    if (this[i].DataName == dataName)

    {

    this[i] = value;

    return;

    }

    }

    this.Add(value);

    }

    }



    public void Remove(DataInfo value)

    {

    dataInfoList.Remove(value);

    }



    public void Remove(string dataName)

    {

    DataInfo dataInfo = this[dataName];

    if (dataInfo != null)

    {

    dataInfoList.Remove(dataInfo);

    }

    }



    public bool Contains(DataInfo value)

    {

    return dataInfoList.Contains(value);

    }



    public bool Contains(string dataName)

    {

    DataInfo datainfo = this[dataName];

    if (datainfo != null)

    {

    return true;

    }

    return false;

    }



    public void Clear()

    {

    dataInfoList.Clear();

    }



    public int Add(DataInfo value)

    {

    if (this[value.DataName] == null)

    {

    return dataInfoList.Add(value);

    }

    else

    {

    throw new Exception("There have a DataInfo used this Name yet!");

    }

    }



    public int Count

    {

    get

    {

    return dataInfoList.Count;

    }

    }

    }



    interface IPageInfo:这个接口用在页面中,以实现页面间的数据通信。

    public interface IPageInfo

    {

    /// <summary>

    /// 页面名

    /// </summary>

    string PageName

    {

    get;

    }

    /// <summary>

    /// 获取数据信息

    /// </summary>

    DataInfoList DataInfos

    {

    get;

    }



    /// <summary>

    /// 获取其他参数

    /// </summary>

    Hashtable OtherParams

    {

    get;

    }

    }





    (
Site designed by 中国财税咨询中心