具有多个值的相同键的 TempData asp.net core mvc
TempData with same key with multiple values asp.net core mvc
我正在阅读 temp data 并且想知道您是否可以将 tempdata 与两个单独的键一起使用并向它们添加多个值。即
TempData["Id"] = "1";
TempData["Name"] = "Bob";
然后我们要在临时数据中添加另一组值:
TempData["Id"] = "2";
TempData["Name"] = "Jill";
在操作方法中使用它们:
public ActionResult Index()
{
TempData["Id"] = 1;
TempData["Name"] = "Bob";
TempData["Id"] = 2;
TempData["Name"] = "Jill";
}
然后在另一个操作方法中访问它,而无需覆盖键的值,只需提供最后一组 ID 和名称:
public ActionResult About()
{
int id;
string name;
if (TempData.ContainsKey("Id") && TempData.ContainsKey("Name"))
{
id = Convert.ToInt32(TempData["Id"]);
name = TempData["Name"].ToString();
}
}
有没有办法在 About()
操作方法中访问它时显示 Bob 和 Jill 的 ID 以及他们的名字,而不仅仅是返回 ID 2 和名称 Jill?
此代码已使用 VS 2019 和 Newtonsoft.Json nuget 包进行测试
你可以用这种方式在临时数据中保存一个复杂的数据
public class IdName
{
public int Id {get;set;}
public string Name {get; set;}
}
你可以像这样使用它
var idNames = new List<IdName> {
new IdName { Name = "Bob", Id = 1 },
new IdName { Name = "Jill", Id = 2 }
};
TempData["IdNames"] = JsonConvert.SerializeObject(idNames);
和你的行动
public ActionResult About()
{
if ( TempData.ContainsKey("IdNames") )
{
List<IdName> IdNames = JsonConvert.DeserializeObject<List<IdName>>( TempData["IdNames"].ToString());
foreach( item in IdNames)
{
var id= item.Id;
var name= item.Name
// your code
}
}
我正在阅读 temp data 并且想知道您是否可以将 tempdata 与两个单独的键一起使用并向它们添加多个值。即
TempData["Id"] = "1";
TempData["Name"] = "Bob";
然后我们要在临时数据中添加另一组值:
TempData["Id"] = "2";
TempData["Name"] = "Jill";
在操作方法中使用它们:
public ActionResult Index()
{
TempData["Id"] = 1;
TempData["Name"] = "Bob";
TempData["Id"] = 2;
TempData["Name"] = "Jill";
}
然后在另一个操作方法中访问它,而无需覆盖键的值,只需提供最后一组 ID 和名称:
public ActionResult About()
{
int id;
string name;
if (TempData.ContainsKey("Id") && TempData.ContainsKey("Name"))
{
id = Convert.ToInt32(TempData["Id"]);
name = TempData["Name"].ToString();
}
}
有没有办法在 About()
操作方法中访问它时显示 Bob 和 Jill 的 ID 以及他们的名字,而不仅仅是返回 ID 2 和名称 Jill?
此代码已使用 VS 2019 和 Newtonsoft.Json nuget 包进行测试
你可以用这种方式在临时数据中保存一个复杂的数据
public class IdName
{
public int Id {get;set;}
public string Name {get; set;}
}
你可以像这样使用它
var idNames = new List<IdName> {
new IdName { Name = "Bob", Id = 1 },
new IdName { Name = "Jill", Id = 2 }
};
TempData["IdNames"] = JsonConvert.SerializeObject(idNames);
和你的行动
public ActionResult About()
{
if ( TempData.ContainsKey("IdNames") )
{
List<IdName> IdNames = JsonConvert.DeserializeObject<List<IdName>>( TempData["IdNames"].ToString());
foreach( item in IdNames)
{
var id= item.Id;
var name= item.Name
// your code
}
}