我的项目中有这个模块,其中有 2 个网格视图。一个用于主菜单模块,另一个用于它的子菜单。我创建了一个列表,以便当我的主菜单模块上的一行被选中并且它具有相应的子菜单时,它将显示在 SubMenu Gridview 上。
我的问题是如何将此列表放入会话中,以便当我导航到另一个页面然后返回此页面时,SubMenu Gridview 仍然存在。
这是我的列表代码。
protected void cbxSelect_CheckedChanged(object sender, EventArgs e)
{
SubMenuGrid.DataSource = null;
SubMenuGrid.DataBind();
Business.SubMenuModules sub = new Business.SubMenuModules();
List<oSubList> oList = new List<oSubList>();
int counter = 0;
foreach (GridViewRow nRow in gvModuleList.Rows)
{
Int32 intModID = Convert.ToInt32(nRow.Cells[0].Text);
CheckBox chkBx = (CheckBox)nRow.FindControl("cbxSelect");
if (chkBx.Checked == true)
{
counter = counter + 1;
var oModList = sub.GetAllMenuPerModuleID(intModID);
if (oModList.Count > 0)
{
foreach (var rec in oModList)
{
oSubList olist = new oSubList
{
ID = rec.ID,
ModuleID = rec.ModuleID,
Submenu = rec.Submenu,
Description = rec.Description
};
oList.Add(olist);
}
SubMenuGrid.DataSource = oList;
SubMenuGrid.DataBind();
}
}