c# - 读取 View MVC 中的 Session 值

标签 c# asp.net-mvc session model-view-controller

我的 Controller 中有一个 session ,如下

Session["Fulldata"] = data;

其中存储数据,例如名称、ID、城市等;

它存储多行此类数据。

如何在 View 中访问或检查任何行是否具有特定名称?

例如:

@if(Session("Fulldata").has("ABC"))
{
   //Do Something
}

我想检查 session 中每一行的名称。任何帮助将不胜感激

最佳答案

首先,您需要将 Session("Fulldata") 转换回您的类型,因为 session 将您的集合存储为 object 类型。

List<CustomClass> data = (List<CustomClass>)Session("Fulldata");

如果数据是集合,您可以使用 linq Enumerable.Any前往搜索

@if(data.Any(d=>d.YourAttr1 == 'ABC' || d.YourAttr2 == 'ABC'))
{
   //Do Something
}

作为附加注意,请不要使用不必要的 session ,特别是对于大数据,因为 session 需要服务器上的空间,并且随着用户/ session 的增加,可能会对性能产生不利影响。

关于c# - 读取 View MVC 中的 Session 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30115566/

相关文章:

javascript - jQuery 脚本问题,为用户提供一个带有两个 PB 的弹出对话框。一个用于继续 session ,另一个用于结束 session

c# - 如何在对象中保存 session 变量?

c# - 如何在 asp.net session 变量过期之前执行服务器端代码?

c# - 在 System.Type 上使用条件断点时出错

c# - 如何复制与安装程序位于同一目录中的文件

c# - 单元测试多线程代码时出现问题

asp.net-mvc - 全局将 "<@Assembly>"和 "<@Import Namespace>"添加到Asp.net MVC View

c# - 从真实执行创建模拟的工具

c# - 当 json 中的 id 属性充当对象时创建 POCO

c# - 创建用于配置和安装 localDb 和 IIS 以及应用程序的 msi 或 exe