禁用父控制器的会话,但为其他控制器的被调用子操作启用它

时间:2014-03-07 13:19:37

标签: asp.net-mvc

有没有人知道在ASP MVC中是否可以使用这样的东西?

  1. 禁用控制器会话

    [SessionState(SessionStateBehavior.Disabled)]
    public class NoSessionController : Controller
    {
    }
    
  2. 这些操作会加载一些视图,最终会从另一个控制器调用另一个操作。控制器将启用会话。被调用的动作将在会话中加载/存储值。

    [SessionState(SessionStateBehavior.Required)]
    public class WithSessionController : Controller
    {
       [ChildActionOnly]
       public ViewResult Actionname()
       {
           Session["abc"]="def";
       }
    }
    
  3. 有可能有这样的东西吗?从第一眼看来,nosessioncontroller的会话设置将覆盖withsessioncontroller的设置?

    有什么想法吗?

    谢谢!

1 个答案:

答案 0 :(得分:0)

目前我发现唯一的解决办法就是删除ChildActionOnly属性。

之后不再需要SessionState属性,会话就可以了。