小编Tro*_*roy的帖子

MVC 使用 TempData 从辅助类重定向

在我的 _Layout.cshtml 中,我有一些用于显示消息的 div。

<div>@TempData["SuccessMessage"]</div>
<div>@TempData["WarningMessage"]</div>
<div>@TempData["ErrorMessage"]</div>
Run Code Online (Sandbox Code Playgroud)

我正在尝试创建一个全局重定向帮助器类来显示这些消息:

消息助手.cs

public static RedirectResult RedirectWithMessage(Controller controller, string messagetype, string url, string message)
{
    controller.ViewData[messagetype] = message;
    return (new RedirectResult(url));
}
Run Code Online (Sandbox Code Playgroud)

从我的控制器:

return RedirectWithMessage(this, "SuccessMessage", "~/good", "Looks good");
return RedirectWithMessage(this, "WarningMessage", "~/warning", "Ooops a warning");
return RedirectWithMessage(this, "ErrorMessage", "~/error", "Danger an error");
Run Code Online (Sandbox Code Playgroud)

我得到了很好的重定向,但没有来自 TempData 的消息。

我使用以下方法从控制器中成功完成了此操作:

private RedirectResult RedirectWithMessage(string messagetype, string url, string message)
{
    TempData[messagetype] = message;
    return Redirect(url);
}
Run Code Online (Sandbox Code Playgroud)

任何帮助是极大的赞赏 ...

c# asp.net-mvc redirect tempdata asp.net-mvc-4

2
推荐指数
1
解决办法
1156
查看次数

标签 统计

asp.net-mvc ×1

asp.net-mvc-4 ×1

c# ×1

redirect ×1

tempdata ×1