2013-09-27 61 views
3

的DISPLAYMODE後綴使用ASP.NET MVC 4我設置顯示模式後綴爲「CAT」:獲取正在使用MVC 4

 DisplayModeProvider.Instance.Modes.Insert(1, new DefaultDisplayMode("CAT") 
     { 
      ContextCondition = (ctx => some condition) 
     }); 

在孩子控制器我需要知道它正在運行的後綴是什麼under,bascially「CAT」

[ChildActionOnly] 
    public ActionResult MainMenu(){ 
      var cat = getthesuffix() ?????? 
    } 

回答

2

我一起搜索了一個解決方案。

「EnumDisplayModeProvider」是我自己的枚舉,用於我設置網站的各種模式。

public EnumDisplayModeProvider GetDisplayModeId() 
    { 
     foreach (var mode in DisplayModeProvider.Instance.Modes) 
      if (mode.CanHandleContext(HttpContext)) 
      { 
       EnumDisplayModeProvider modeProvider = EnumDisplayModeProvider.generic; 
       var id=mode.DisplayModeId; 
       Enum.TryParse(id, true, out modeProvider); 
       return modeProvider; 
      } 

     throw new Exception("No display mode"); 
    }