javascript - 离开页面时从 Razor View 中的 session 中删除项目

标签 javascript c# asp.net-mvc session razor

导航到任何页面时,我需要清除 System.Web.HttpSessionStateBase.Session 中的项目。
这是必需的,因为我们有一些字段,当点击navigate-to-page菜单项时应该清除。
每个项目都有href属性,调用操作方法。

当我使用下面的示例时,它显示错误 - 无法将类型 void 隐式转换为对象

$('.navigate-to-page').on('click', function () {

   // @Session.Remove("ItemToRemoveKey");

});

编辑 1

@Hassen Ch 提到你不能在 javascript 中使用 razor 代码,好吧,你实际上可以!

我目前拥有的代码:

$('.navigate-to-page').on('click', function () {
    @{
         this.Session.Remove("ItemToRemoveKey");                 
    }
});

现在遇到的问题:

1. 当我导航到其他页面时,不会触发任何单击事件,尽管当我返回上一页时,它首先触发操作方法和单击事件。
2. 首先调用操作方法,因此 View 模型不是最新的。

最佳答案

您无法在客户端执行此操作。

您可能想要定义一个操作并在点击时通过 ajax 调用它

关于javascript - 离开页面时从 Razor View 中的 session 中删除项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38975314/

相关文章:

javascript - Node.js 将我的模块连接在一起而不使其变得困惑

javascript - 是否可以提交两次表单?

c# - 在类库中获取 UI 调度程序

c# - 有没有现成的分页/过滤/排序的数据 TableView 库?

c# - 如何在基 Controller 类中使用 RedirectToAction?

javascript - 有没有办法将输入绑定(bind)到值并使用不同的 ng-model 进行跟踪?

javascript - 如何使用文本框作为常量输入?

C# 函数式快速排序失败

c# - 如何通过SessionId获取Session对象?

c# - db.SaveChanges 不提交更改