相关疑难解决方法(0)

如何在不返回301的情况下重定向MVC操作?(使用MVC 4 beta)

我正在开发一个ASP.NET MVC解决方案,它有许多不同的菜单.要显示的菜单取决于当前登录用户的角色.

在MVC 3中,我有一些自定义代码来支持这种情况,通过使用单个控制器方法返回正确的菜单.它会通过将请求推迟到适当的控制器和操作来执行此操作,具体取决于当前用户.

此代码似乎在MVC 4中被破坏,我正在寻找帮助来解决它.

首先,我添加了一个TransferResult助手类来执行重定向:

public class TransferResult : RedirectResult
{
    #region Transfer to URL
    public TransferResult( string url ) : base( url )
    {
    }
    #endregion

    #region Transfer using RouteValues
    public TransferResult( object routeValues ) : base( GetRouteUrl( routeValues ) )
    {
    }

    private static string GetRouteUrl( object routeValues )
    {
        var url = new UrlHelper( new RequestContext( new HttpContextWrapper( HttpContext.Current ), new RouteData() ), RouteTable.Routes );
        return url.RouteUrl( routeValues );
    }
    #endregion

    #region Transfer using ActionResult …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc t4mvc asp.net-mvc-4

7
推荐指数
1
解决办法
3297
查看次数

标签 统计

asp.net-mvc ×1

asp.net-mvc-4 ×1

c# ×1

t4mvc ×1