自定义路由ASP.NET MVC

哈尔登·科利尔

所以我想让我的网址看起来像这样:

example.comexample.com/contactexample.com/sign-upexample.com/account

而不是默认的MVC方式:

example.comexample.com/Home/Contactexample.com/Account/SignUpexample.com/Account/Account

所有HomeController视图都可以正常工作,但我AccountController不能。

转到时example.com/account出现错误消息:

无法找到该资源。

这是我的RouteConfig

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

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

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

并且因为我想显示Account/SignUp视图,因为/sign-up我在中添加了一些自定义代码AccountController

// GET: Account
public ActionResult Account()
{
    return View();
}

// GET: Sign Up
[ActionName("Sign-Up")]
public ActionResult SignUp()
{
    return View("SignUp");
}

这两种格式/account还是/account/account给了我与以前相同的错误。但是/about/contact等等没有。

任何帮助表示赞赏,谢谢!

PS这是我的文件夹结构:

> Views
-> Account
--> Account.cshtml
--> SignUp.cshtml
-> Home
--> About.cshtml
--> Contact.cshtml
--> Index.cshtml
恩科西

路由设置将需要更明确。

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

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

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

asp.net mvc自定义子路由

来自分类Dev

ASP.NET MVC自定义视图路由

来自分类Dev

asp.net mvc自定义子路由

来自分类Dev

ASP.NET MVC-创建自定义路由而没有回退

来自分类Dev

如何在ASP.NET MVC中创建到自定义路由的ActionLink?

来自分类Dev

创建自定义路由层次结构ASP.NET MVC 5

来自分类Dev

ASP.NET MVC 5:基于本地化路由参数的自定义登录URL

来自分类Dev

在asp.net MVC中获取自定义路由的URL

来自分类Dev

映射自定义路由ASP.NET MVC5

来自分类Dev

自定义路由是不是在asp.net核心MVC打?

来自分类Dev

如何在ASP.NET Core 3.1 MVC中进行自定义路由

来自分类Dev

具有自定义URL的MVC路由ASP.NET

来自分类Dev

Asp.Net MVC 4中的自定义URL路由

来自分类Dev

创建自定义路由层次结构ASP.NET MVC 5

来自分类Dev

一个区域下的Asp.Net MVC 5自定义动作路由

来自分类Dev

ASP.NET MVC 5 自定义路由执行错误操作

来自分类Dev

.NET Core 3 MVC中的自定义路由

来自分类Dev

Area的控制器操作中的自定义路由在ASP.NET MVC中不起作用

来自分类Dev

自定义中间件(或授权),用于ASP.NET Core 3.1 MVC中的特定路由

来自分类Dev

ASP.NET MVC 5自定义错误页面

来自分类Dev

ASP.NET MVC中的自定义JSON结果

来自分类Dev

带线程的ASP.NET MVC自定义验证

来自分类Dev

ASP.NET Core MVC自定义站点变量

来自分类Dev

ASP.Net MVC Kendo网格的自定义分页

来自分类Dev

ASP.NET MVC 4自定义句柄错误

来自分类Dev

自定义标头ASP.net MVC

来自分类Dev

ASP.NET MVC中的自定义错误页面

来自分类Dev

ASP.NET MVC 4自定义URL

来自分类Dev

asp.net core mvc 中的自定义授权