国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

頁面無限跳轉間如何保存頁面狀態(2)

2024-07-21 02:16:25
字體:
來源:轉載
供稿:網友
解決方法的實現
以上分析過了之后,我們來看如何實現他:
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;
}
}


(未完待續)
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 津市市| 金山区| 志丹县| 桃江县| 长沙县| 阜城县| 武胜县| 铜川市| 读书| 徐汇区| 永吉县| 新化县| 舟曲县| 临泽县| 新平| 淅川县| 巴林左旗| 疏勒县| 岐山县| 靖宇县| 二连浩特市| 保靖县| 贞丰县| 江陵县| 阳春市| 富源县| 岱山县| 梁山县| 平乡县| 阿克陶县| 河间市| 旅游| 罗田县| 宜昌市| 格尔木市| 茌平县| 广河县| 磴口县| 醴陵市| 东安县| 林周县|