C# 清除列表但保留会话
我有一个特定的代码和列表,如图所示C# 清除列表但保留会话,c#,list,session,C#,List,Session,我有一个特定的代码和列表,如图所示 var refinedClaimSearchNew = new ClaimSearch(); for (int i = 1; i < refineDictionary.Length; i++) { List<ClaimSearchDataValues> claimTable = new List<ClaimSearchDataValues>(); int count = i; if (count == 1
var refinedClaimSearchNew = new ClaimSearch();
for (int i = 1; i < refineDictionary.Length; i++)
{
List<ClaimSearchDataValues> claimTable = new List<ClaimSearchDataValues>();
int count = i;
if (count == 1) { claimTable = refinedClaimSearch.RowValues; }
else { //My problem is in this else loop
claimTable = (List<ClaimSearchDataValues>)Session["Test"];//Get the list out of session
if (refinedClaimSearchNew.RowValues != null) { refinedClaimSearchNew.RowValues.Clear(); //And then clear the list but retain session value}
}
var dictionaryItems = refineDictionary[i];
string[] dictionaryItemsSplit = dictionaryItems.Split(',');
for (int j = 1; j < dictionaryItemsSplit.Length; j++)
{
var nodeElement = dictionaryItemsSplit[j];
foreach (var row in claimTable)
{
var currentRow = row;
bool hasRefineValue = false;
foreach (var rowValues in currentRow.CellValues)
{
if (rowValues.Key == nodeElement || rowValues.Value == nodeElement)
{
hasRefineValue = true;
}
}
if (hasRefineValue == true)
{
refinedClaimSearchNew.RowValues.Add(currentRow);
}
}
}
Session["Test"] = refinedClaimSearchNew.RowValues;//storing list in session
}
我正在会话中存储一个列表,在下一次迭代中,我想从会话中删除存储的列表,但同时清除列表,以便再次使用新列表。。
但是当我从会话中取出列表时,它看起来很好,下一行当我清除列表时,从会话中检索到的列表也变成了0。。
请帮助我了解如何执行此操作….refinedClaimSearchNew.RowValues.Clear此不是会话可以删除/清除。使用Session.clearAll;在您的elseor中添加这一行,或者如果您想清除特定会话,则使用session.remove[session_name];