我正在研究MVC3项目,我想在视图中使用RedirectToAction时显示一条消息.我使用过ViewBag,但它不起作用.
请有人帮助我.
小智 38
您可以使用TempData来显示消息
在你的视图中
@if (TempData["Success"] != null)
{
 <p class="alert alert-success" id="successMessage">@TempData["Success"]</p>
}
成功后在你的控制器中
TempData["Success"] = "Added Successfully!";
return RedirectToAction("actionname", "controllername");
Chr*_*t A 10
该TempData控制器属性可以用来实现这种功能.它的缺点是它在后台使用会话存储.这意味着您将有额外的工作使其在Web场上运行,或者您需要首先打开会话.
或者,如果您只需要传输短信,则可以使用cookie.这样做需要您正确保护cookie以防止篡改.MachineKey.Protect()可以帮你做到这一点.
我遇到了你所遇到的同样问题,并为它创建了一个名为FlashMessage的解决方案.也许这可以为你节省一些工作.它也可以在NuGet上使用.
使用FlashMessage很简单.您只需在调用之前对消息进行排队RedirectToAction(),如下所示:
// User successfully logged in
FlashMessage.Confirmation("You have been logged in as: {0}", user.Name);
return RedirectToLocal(returnUrl);
在您的视图中,您包含以下语句以呈现任何以前排队的消息:
@Html.RenderFlashMessages()
| 归档时间: | 
 | 
| 查看次数: | 26795 次 | 
| 最近记录: |