【问题标题】:How to Create Session Variable in JavaScript MVC3 Razor View engine .cshtml如何在 JavaScript MVC3 Razor 视图引擎 .cshtml 中创建会话变量
【发布时间】:2013-04-08 21:17:32
【问题描述】:

我正在使用带有 Razor View 引擎的 MVC3,

我有一个 .cshtml 页面,我有一个 JavaScript 函数,在该 JavaScript 函数中,我想创建 Session 变量并在同一个 JavaScript 函数中检索该会话。

如何做到这一点..

【问题讨论】:

  • 你试过吗?我认为会话是服务器变量。
  • 我想你是asking the same questions here。除了你为什么要在js 中创建一个会话项?请记住,js 在客户端上运行。那么你打算再做一次 http 调用并设置一个会话项吗?
  • @vonv。我之前在 JavaScript 中创建 Session 变量的代码是错误的,这就是为什么我为此提出了单独的问题..

标签: javascript asp.net-mvc-3 razor


【解决方案1】:

说明

会话位于服务器端,因此您需要调用服务器才能设置或检索会话变量。

只需发布到控制器并在那里设置 Session 变量。

示例

jQuery

$(function () {
    $.post('/SetSession/SetVariable', 
           { key : "TestKey", value : 'Test' }, function (data) 
    {
        alert("Success " + data.success);
    });
});

Mvc 控制器

public class SetSessionController : Controller
{
    public ActionResult SetVariable(string key, string value)
    {
        Session[key] = value;

        return this.Json(new { success = true });
    }
}

更多信息

【讨论】:

    【解决方案2】:

    使用 javascript 代码添加会话。只是必须添加此代码

    sessionStorage.setItem("MyId", 123);
    

    您可以使用此代码调用添加的会话

    var value = sessionStorage.getItem("MyId");
    

    【讨论】:

    • 请在您的答案中添加一些解释,以便其他人可以从中学习
    • 感谢您的关注,希望您添加的描述对您有所帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多