c# - C# Http Session 在通过 AJAX 首次调用不同的控制器操作时已过时
问题描述
我有 1 个名为“MainController”的控制器,其中有 2 个操作方法都访问会话。我面临一个问题,其中我的会话在通过 AJAX 调用第二种方法时已过时。
- 会话在 Method1 中设置
- Method2 通过 Ajax 从 Method1 的 cshtml 调用
- Method2 中的会话已过时或为空
任何人都面临同样的问题,可以摆脱一些想法,为什么?作为参考,我将我的控制器的简化代码放在下面:
public class MainController : Controller
{
public ActionResult Index(string postalCode)
{
//THIS IS METHOD1****
Session["PostalCode"] = postalCode;
return View();
}
public ActionResult Content()
{
//THIS IS METHOD2 WHERE postalCode is not the same as what I set in METHOD1****
string postalCode = Session["PostalCode"];
return View();
}
}
这是我在 Index.cshtml 中的 ajax 调用:
$.ajax({
url: '@Url.Action("Content", "Main")',
dataType: 'html',
type: 'POST',
success: function (data) {
//success
},
error: function (jqXHR, error) {
//error handling
}
});
解决方案
推荐阅读
- ios - 如何在滚动时旋转集合视图单元格
- opencv - 如何解决 OpenCv 跟踪器的遮挡对象问题以及如何改进快速运动对象的跟踪?
- python - 安装 pycopg2 给了我一个问题
- python - 无法使用底图渲染北美数据
- javascript - 自动化 Microsoft Forms 的大问题,任何人都可以提供一些见解吗?
- android - 如何使用 android 共享意图共享文本和图像?
- c - 按回车键或任何字母后,我的计算器卡住了。为什么?
- reactjs - 如何在 Reactjs 中制作可点击的文本?
- reactjs - Formik ErrorMessage 未出现在浏览器上
- python - 如何制作一个值在一定范围内的 Numpy 矩阵?