Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将会话中属性对象中的值读取到cshtml_C#_Session_Razor - Fatal编程技术网

C# 将会话中属性对象中的值读取到cshtml

C# 将会话中属性对象中的值读取到cshtml,c#,session,razor,C#,Session,Razor,我正在尝试使用下面的方法在我的网页上显示会话对象中属性的欢迎文本 @HttpContext.Current.Session[Application],它为我提供了对象本身,但我想知道如何从应用程序对象读取属性 我可以知道一个好方法吗?您可以使用Json.NET/Newtonsoft反序列化对象。您需要在项目中引用此库。您可以直接从或通过下载 这是对象属性的示例 public class ApplicationModel { public string Name {

我正在尝试使用下面的方法在我的网页上显示会话对象中属性的欢迎文本

@HttpContext.Current.Session[Application],它为我提供了对象本身,但我想知道如何从应用程序对象读取属性


我可以知道一个好方法吗?

您可以使用Json.NET/Newtonsoft反序列化对象。您需要在项目中引用此库。您可以直接从或通过下载

这是对象属性的示例

    public class ApplicationModel
    {
        public string Name { get; set; }
        public string WelcomeMessage { get; set; }
    }
在您的cshtml中

    @{
    var appSessionData = @HttpContext.Current.Session["Application"]
    var applicationData = JsonConvert.DeserializeObject<ApplicationModel>(appSessionData);
    <h3>@applicationData.WelcomeMessage</h3>
    }
问候,,
Vibhav Ramcharan

当我阅读这个问题并思考这个故事时,我认为你需要使用的是,只要你需要,就使用keep和peek,如果你需要,只要用户使用你的网站,就可以继续使用


如果您需要在应用程序级别拥有一些数据,您可以创建一个静态类,并使用该类保存数据,直到应用程序关闭或重新启动。

您必须将会话变量转换为应用程序对象,然后才能访问应用程序对象上的所有属性。我也尝试过这个方法@{ApplicationFilterDtoHttpContext.Current.Session[Application]}但我仍然无法访问带括号的属性包装:ApplicationFilterDtoHttpContext.Current.Session[Application]‌​你的假设是,在将对象存储到会话中之前,他将对象序列化为json。OP没有提到这一点