导航到任何页面时,我需要清除 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/