当离开页面时,从Razor视图中删除会话项

本文关键字:视图 删除 会话 Razor 离开 | 更新日期: 2023-09-27 18:02:40

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

当我使用下面的示例时,它显示了一个错误- Cannot implicitly convert type void to object

$('.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. 操作方法被先调用,因此视图模型不是最新的

当离开页面时,从Razor视图中删除会话项

你不能在客户端这么做。

你可能想定义一个动作,并通过ajax调用它点击