繁体   English   中英

路由问题ASP.net MVC 4没有重定向到索引操作

[英]Route Issue ASP.net MVC 4 not redirecting to Index Action

当我尝试使用以下URL格式访问控制器上的索引页面时:

mydomain/taux/index

这有效,并且Index页面打开。 但是,如果我使用这种url格式(我不将Index操作添加到URL)

 mydomain/taux/

我收到“ 404未找到”,但通常它应该可以正常工作,并自动将我重定向到索引页。

请如何解决?

Taux控制器:

// GET: /Taux/
public ActionResult Index()
{
    var taux = db.TAUX.Include(t => t.CATEGORIE).Include(t => t.GARANTIE);
    return View(taux.ToList());
}

RouteConfig.cs

public class RouteConfig
{
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Account", action = "Login", id = UrlParameter.Optional }
            );
        }
}

这是因为您的默认操作设置为“登录”。 如果要将链接mydomain / taux /重定向到Indext操作,则需要将其设置为Index。

如果只想为此特定控制器进行重定向,则可以使用以下路由定义:

public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

    routes.MapRoute(
        name: "Taux",
        url: "Taux/{action}/{id}",
        defaults: new { controller = "Taux", action = "Index", id = UrlParameter.Optional }
    );

    routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{id}",
        defaults: new { controller = "Account", action = "Login", id = UrlParameter.Optional }
    );
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM