2011-10-12 43 views
1

我正在通过MVC3处理我的第一个应用程序,而且它仍然是一个新手。
问题是我把我的控制器中的ViewData字典中的一些消息显示在视图上,但据我使用返回视图(“索引”); meesage在视图中正确接收,但是当我通过RedirectToRoute(“Default”)更改控制器返回时,ViewData []字典显示空值。当在控制器中使用RedirectToRoute(“路由”)时,ViewData [“key”]不可用

我想使用RedirectToRoute(“默认”)来更改URL地址..有什么办法我也可以使用ViewData []与RedirectToRoute(“默认”)?

public ActionResult Logout() 
    { 
     Session.Contents.Remove("usrnme"); 
     Session.Contents.Remove("usrId"); 
     ViewData["mainMessage"] = "Lorem Ipsum is simply dummy text of the printing and typesetting industry."; 
     //return View("Index"); 
     return RedirectToRoute("Default"); 
    } 

回答

2

尝试

TempData["mainMessage"] = .... 

,并在默认

if (TempData["mainMessage"] != null) 
{  
    ViewData["mainMessage"] = TempData["mainMessage"]; 
} 
+0

Thankyou Valamas!问题解决了。 :) – Maven

0

因为没有“视图”这个动作被返回(好像你注销的方法是不是哪个控制器处理“默认”路线),您无法将ViewData分配给它。相反,在映射到“默认”路由的控制器的操作中设置ViewData。

相关问题