我的代码“下面”的作用是:客户端 javascript 调用一个 webservice 方法,该方法创建一个通用列表,然后将其存储到会话中。
[WebMethod(EnableSession = true)]
public void SaveUserSelection(string slctdRooms, string slctdcst)
{
List<SelectRms> SelectR = Session["someinfo"] as List<SelectRms>;
if (SelectR == null)
{
SelectR = new List<SelectRms>();
Session["someinfo"] = SelectR;
}
SelectR.Add(new SelectRms { roomtype = slctdRooms, Roomcst = slctdcst });
}
然后我会重新访问会话以在另一个页面中显示数据,如下所示
列表(SlctdRmWebSrv.SelectRms)SelctdRM =(列表(SlctdRmWebSrv.SelectRms))Sessio[“someinfo”];
if(SelctdRM != null)
{
repeater1.DataSource = SelctdRM;
repeater1.DataBind();
}
问题是每次我重新创建会话以创建新列表时,新数据都会添加到旧数据中。我想要一种只显示当前数据的情况。我尝试清除列表、放弃会话或清除中继器,然后再添加它所做的新中继器;容易有一个简单的方法来完成这项工作。非常感谢