2009-09-15 79 views
0

因爲我的應用程序有一個邊欄菜單,每次我通過xml動態構建我想加載一個視圖我需要通過所有這些參數。有沒有更好的方法可以做到這一點?在asp.net mvc

 ViewData["mainItems"] = navigation.getItems(); 
     ViewData["controller"] = controller;//this is just a string with the name of my controller 

我該如何避免每次都這樣做,但參數不斷被檢索和傳遞?

+0

我不明白。你是否在每一個請求中設置ViewData,這就是你想要避免的? – 2009-09-15 19:35:48

回答

0

如果我明白你的問題是正確的,那麼你可能想創建一個基類控制器,並讓你的所有控制器從這個基控制器繼承。然後重寫OnActionExecuted事件,該事件在每個操作中被觸發。

public class BaseController : Controller { 
    protected override void OnActionExecuted(ActionExecutedContext filterContext) { 
     ViewData["mainItems"] = navigation.getItems(); 
     ViewData["controller"] = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName; 
     base.OnActionExecuted(filterContext); 
} 
相關問題