У меня проблема с TempData в MVC5. Я знаю, что могу использовать TempData в последовательности запросов. Однако после того, как я сделаю RedirectToAction, мои TempData, а также Session будут пусты. Я использую конфигурацию удостоверений личности. Я думаю, что что-то не так с моей конфигурацией сеанса. Но я не знаю, где искать эту конфигурацию.
Я поделюсь некоторыми примерами кода. Может быть, я делаю что-то не так, и вы можете помочь мне с этим.
Итак, у меня есть ParliamentController.cs. Внутри этого контроллера у меня есть методы:
[HttpGet]
public ActionResult Politicians()
{
var publishInfo = TempData["Info"];
var sessionInfo = Session["Info"];
return View(new Config());
}
[HttpPost]
public ActionResult PublishConfig()
{
TempData["Info"] = "publish error";
Session["Info"] = "session info";
return RedirectToAction("Politicians", "Parliament", new { area = "Admin" });
}
Кроме того, у меня есть Politicians.cs html
, который имеет эту разметку:
@using (Html.BeginForm("PublishConfig", "Parliament", FormMethod.Post, new { area = "Admin" }))
{
<input type="submit" value="Publish config"/>
}
И вот некоторые фотографии отладки:
Любая помощь будет оценена. Если вам нужна дополнительная информация, просто дайте мне знать.
Обновление: Похоже, что проблема воспроизводима только для браузера Google Chrome. Хотя режим инкогнито в google chrome работает хорошо.
Я думаю, что нашел решение. Проблема была в протоколе http. Я пробовал под https, и все работает, как ожидалось. Эта статья помогла мне найти решение https://www.petefreitag.com/item/857.cfm