我的代码'下'做的是:客户端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 });
}
然后,我会retreave会话显示在另一页中的数据是这样
列表(SlctdRmWebSrv.SelectRms)SelctdRM =(名单(SlctdRmWebSrv.SelectRms))Sessio [“someinfo “];
if(SelctdRM != null)
{
repeater1.DataSource = SelctdRM;
repeater1.DataBind();
}
问题是,每次我retreave会话时间来创建一个新的列表,将新数据添加到旧的。我想有一个只显示当前数据的情况。我试图清除列表,放弃会话,或者在添加新的列表之前清除中继器。容易有一个简单的方法来完成这件事。非常感谢
非常感谢您的回答,但对不起,问这个愚蠢的问题。我试图初始化我的列表,但似乎我不知道如何。我创建了一个方法public void GetUserContent(){Session [“someinfo”] = new List();}。但它不起作用。你能否详细说明如何初始化MOre –
2012-04-30 11:25:14
@R_valentin当然,我会在上面编辑我的答案。 – Ulises 2012-04-30 18:51:33
非常感谢您的非常珍贵的指导。在初始化方法成功完成后,我一次点击就调用saveuserselection方法,并且它像charms一样工作。但我不知道的是,如果这可以让我的帖子到web服务比两步慢。祝好! – 2012-05-01 13:59:50