В моем конкретном примере мне нужно передать ошибку, полученную на одном контроллере, на другой контроллер, где она будет отображаться.Вот контрольный пример, который я настроил.Я пробовал TempData, ViewData и Session.Еще одна вещь, которую я заметил, это то, что, возможно, именно так я перенаправляю.Когда я ставлю точку останова на принимающем контроллере, если я просто иду к нему, я достигаю точки останова, но при перенаправлении она никогда не срабатывает.
Действие контроллера отправки
public ActionResult New()
{
Session["Notice"] = "There was an error";
Session["NoticeClass"] = "error";
return RedirectToAction("Index", "Home");
}
Тогда вот получениеконтроллер:
public ActionResult Index()
{
//Handle action
return View();
}
Затем при частичном просмотре выявляются все найденные ошибки или уведомления
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<dynamic>" %>
<%
string Message = "";
string Class = "hidden";
if (ViewData["Notice"] != null && ViewData["Notice"] != "")
{
Message = (string)ViewData["Notice"];
Class = (string)ViewData["NoticeClass"];
}
if (Session["Notice"] != null && Session["Notice"] != "")
{
Message = (string)Session["Notice"];
Class = (string)Session["NoticeClass"];
Session["Notice"] = null;
}
Response.Write("<div class=\"" + Class + "\" id=\"error_div\"><span id=\"error_span\">" + Message + "</span></div>");
%>