3

使用 ASP.NET MVC 4,我将显示模式后缀设置为“CAT”:

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

在子控制器中,我需要知道它运行的后缀是什么,基本上是“CAT”

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

1 回答 1

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");
    }
于 2013-09-27T22:01:47.757 回答