asp.net mvc:将2个控制器之间的信息传递给视图

时间:2010-01-08 09:43:23

标签: asp.net-mvc model-view-controller

希望我能解释一下自己...... 我在主页面上有一个登录控件。当您单击登录按钮时,您将转到accountcontroller的登录方法,该方法将检查您的凭据。无论是否正常,您都将被重定向到主页(“home”,“index”)。 但是,如果登录失败,我想向用户显示一条消息。 所以我尝试在登录方法中设置viewdata(viewdata [“logon”] =“failed”)然后检查母版页是否存在此视图数据,如果存在,则渲染带有一些文本的范围。 但据我所知,viewdata并未通过重定向到操作方法保留。

确保我的登录方法可以某种方式通知我的母版页视图登录失败的最佳方法是什么?

米歇尔

2 个答案:

答案 0 :(得分:3)

如果我正确地阅读了您的问题,您的问题是您需要在行动中设置一个值,该值需要在RedirectToAction之后可用。您需要在Tempdata中设置一个键。

TempData["MessageToUser"] = "I dont let you in dude!"

一次重定向后,TempData仍可用。

答案 1 :(得分:1)

结帐MvcContribQueen3在某处提到他们已经治愈了这个问题 (在重定向之间传递信息)。

但最好为身份验证创建单独的视图。然后问题就会消失。