0
在我的mvc3項目中,我將Dictionary保存在Tempdata Dictionary中。c#Mvc 3 Tempdata Dictionary?
TempData[ViewDataKeys.ItemsAdd] = new Dictionary<int, int>();
當Ajax請求我添加項目到TempData[ViewDataKeys.ItemsAdd]
。 它已更新,但當我從TempData[ViewDataKeys.ItemsAdd]
中刪除項目時,它不會更新。
從TempData[ViewDataKeys.ItemsAdd]
中刪除一項後,爲空。
private void RemoveFrom(int Uid)
{
if (TempData[ViewDataKeys.ItemsAdd] == null)
{
TempData[ViewDataKeys.ItemsAdd] = new Dictionary<int, int>();
}
var a= (Dictionary<int,int>)TempData[ViewDataKeys.ItemsAdd];
a.Remove(Uid);
TempData[ViewDataKeys.ItemsAdd] = a;
}
private void AddTo(int Uid)
{
if (TempData[ViewDataKeys.ItemsAdd] == null)
{
TempData[ViewDataKeys.ItemsAdd] = new Dictionary<int,int>();
}
var a= (Dictionary<int,int>)TempData[ViewDataKeys.ItemsAdd];
a.Add(Uid, Uid);
TempData[ViewDataKeys.ItemsAdd] = a;
}
但是,當我添加項目是好的。 –
是的,你可以添加一個項目,但下次你閱讀它的項目已經消失。如果你想要一個持久存儲,那麼你應該使用'Session'' – Buildstarted
對不起,我應該更清楚。下一次您讀取項目TempData返回它的值,然後*然後*將其刪除。 – Buildstarted