当我尝试使用以下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 }
            );
        }
}

===============>>#1 票数:2 已采纳

这是因为您的默认操作设置为“登录”。 如果要将链接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 }
    );
}

  ask by Chlebta translate from so

未解决问题?本站智能推荐:

1回复

ASP.NET MVC路由不适用于.html扩展名

我使用ASP.NET MVC开发了一个Web应用程序。 我的路线有问题。 我需要这样的路线。 http://localhost/content-name/23.html 我为此定义了一条路线 但是这条路线不起作用。 IIS向我显示404页面。 当我删除.html扩展名
3回复

如何在ASP.NET MVC 4中将查询字符串参数转换为路由

我有一个正在构建的博客系统,但似乎无法使ASP.NET MVC了解我的路线。 我需要的路由是/ blogs / student / firstname-lastname,因此/ blogs / student / john-doe路由到博客区域,即学生控制者的index操作,该操作需要一个
2回复

ASP.NET MVC 4-MapRoute配置以删除“ / Home”(已存在的默认配置)

我有一个解决方案,其中初始和默认(RouteConfig)页面为“登录/索引”。 该页面上的名称让人理解,用于用户在系统上进行登录。 成功登录后,将被重定向到主页。 登录页面上显示的URL是http:// localhost:7037 /之后,在“主页”页面中是http:// loca
3回复

控制器名称上的MVC路由约束

我的路线设置如下: 而且我迫切希望将Area/friendlyAccountName/Home带我到Dashboard()但这不起作用(404)。 我认为原因是我们去寻找一个friendlyAccountName控制器。 知道如果我应该选择在我的一个控制器之后命名一个帐户,一切都
1回复

Asp.net MVC 4多路由

我是asp.net mvc的初学者。 我尝试路由。 但所有路由格式均使用第一个定义的路由值。 示例所有视图以“ index”结尾的URL,但我不希望使用此URL格式。 我想要localhost:56609/Cuisines/Detail/4/thai但程序显示localhost:5660
1回复

设置非默认ASP.net MVC路由后的404

我将ASP.net MVC4与VWD Express 2010一起使用。我已经设置了一条额外的路线,以从URL中删除多余的/Home/ ,如此处和此处所示 。 我确保按照正确的顺序排列它们: 就删除/Home/而言,这是可行的,但是现在尝试访问非默认控制器时得到404: 我已将
1回复

ASP.NET MVC路由任务

我有以下路由表: 因此,当我们拥有类似http:// mysite / abcde的 url时,它调用UserController,动作索引;如果我们拥有类似http:// mysite / dashboard / Index的 url,则它称为DashboardController,动
1回复

ASP.NET MVC4路由

有人可以告诉我如何为该控制器动作编写路线吗? 我收到此错误,但不确定为什么或如何解决: The parameters dictionary contains a null entry for parameter 'PID' of non-nullable type 'System.Int32
1回复

ASP.NET MVC:确定URL的区域+控制器+操作

情况:我正在使用MVC的AuthorizeAttribute保护我的动作。 我有几个包含INSERT,DELETE等功能的UI组件,如果应用程序的最终用户单击某个按钮,这些组件将导致操作。 只有那些允许用户执行的按钮才对用户可见。 为了避免至少两次获得用户操作许可(按钮和控制器操作),我在
2回复

NET中的多条路由

我的mvc应用程序中有多个路由。 我想知道应用程序中的多条路由对性能不利吗?