在 View MVC 中读取会话值
Reading Session value in View MVC
我的控制器中有一个会话如下
Session["Fulldata"] = data;
其中存储 数据,例如名称、ID、城市等;
它存储多行这样的数据。
如何在视图中访问或检查是否有任何行具有特定名称?
例如:
@if(Session("Fulldata").has("ABC"))
{
//Do Something
}
我想检查会话中每一行的名称。任何帮助将不胜感激
首先,您需要将 Session("Fulldata")
转换回您键入的会话,将您的集合存储为 object
类型。
List<CustomClass> data = (List<CustomClass>)Session("Fulldata");
如果数据是一个集合,您可以使用 linq Enumerable.Any 来搜索
@if(data.Any(d=>d.YourAttr1 == 'ABC' || d.YourAttr2 == 'ABC'))
{
//Do Something
}
作为附加 注意 请不要在不必要的情况下使用会话,尤其是对于大数据,因为会话将需要 space 在您的服务器上并且 user/session 增加它可能会对性能产生不利影响。
我的控制器中有一个会话如下
Session["Fulldata"] = data;
其中存储 数据,例如名称、ID、城市等;
它存储多行这样的数据。
如何在视图中访问或检查是否有任何行具有特定名称?
例如:
@if(Session("Fulldata").has("ABC"))
{
//Do Something
}
我想检查会话中每一行的名称。任何帮助将不胜感激
首先,您需要将 Session("Fulldata")
转换回您键入的会话,将您的集合存储为 object
类型。
List<CustomClass> data = (List<CustomClass>)Session("Fulldata");
如果数据是一个集合,您可以使用 linq Enumerable.Any 来搜索
@if(data.Any(d=>d.YourAttr1 == 'ABC' || d.YourAttr2 == 'ABC'))
{
//Do Something
}
作为附加 注意 请不要在不必要的情况下使用会话,尤其是对于大数据,因为会话将需要 space 在您的服务器上并且 user/session 增加它可能会对性能产生不利影响。