控制器的路由仅适用于小写

时间:2016-02-04 13:36:18

标签: c# model-view-controller controller routes

我有一个控制器,我从中删除了所有数据,留下了一个带有无参数视图返回的简单索引操作。事情是以下,我有我的控制器的定义

[AuthorizeExtension]
public class TasksController : Controller
{
    private readonly ApplicationDbContext _db = new ApplicationDbContext( );

    public string CurrentUserId => User.Identity.GetUserId( );

    // GET: Tasks
    public ActionResult Index( )
    {
        var data = RouteTable.Routes.GetRouteData( HttpContext );

        return View(  );
    }
}

曾几何时我可以通过 localhost / Tasks 访问它。现在,如果我尝试相同的网址,我会被重定向到登录视图( authorizeExtension <当我登录时,/ strong>如果我没有登录),但它确实适用于小写访问 localhost / tasks ,子页索引,创建,详细信息等也是如此其他页面有效,而这个页面没有。我也尝试使用具有相同视图的新控制器复制它,它可以工作,但如果我执行以下操作

[AuthorizeExtension]
[RoutePrefix("Tasks")]
public class EmptyController : Controller
{
    private readonly ApplicationDbContext _db = new ApplicationDbContext( );

    public string CurrentUserId => User.Identity.GetUserId( );

    // GET: Tasks
    [Route("Index")]
    public ActionResult Index( )
    {
        var data = RouteTable.Routes.GetRouteData( HttpContext );

        return View( );
    }
}

我再次被重定向。我在 authorizationExtensionm 中附加了一个打印屏幕,其中包含 HttpContext.User 我失去了我的身份。 HttpContext.User

1 个答案:

答案 0 :(得分:0)

我第二次遇到问题后发现问题,实际上是数据库中密钥的错位,回到工作迁移就行了。