【问题标题】:Change url in Route Config in Mvc在 Mvc 中更改 Route Config 中的 url
【发布时间】:2021-10-23 17:37:15
【问题描述】:

我想更改函数的地址(通过 RegisterRoutes)。 我定义了两个 routes.MapRoute 但没有任何工作。 我检查了许多示例并将我的代码与它们匹配,但问题仍然存在。 真实地址是: http://localhost:3127/account/register/3

我希望将我的地址更改为以下地址: http://localhost:3127/Reg

是否应该为此在函数顶部使用 [Route("Reg")]? 是否需要重定向? 我需要 web.config 设置来执行此操作吗?

我的行动是:

[AllowAnonymous]
    [Route("Reg")]
    public virtual ActionResult Register()
    {
        return View();
    }

我在注册路由中的配置:

   routes.MapRoute(
         name: "Register",
         url: "Reg",
         defaults: new { controller = "Account", action = "Register" },
         namespaces: new[] { "WebSite.Controllers" }
     );
        routes.MapRoute(
          name: "Account",
          url: "Account/Reg",
         defaults: new { controller = "Account", action = "Register" },
         namespaces: new[] { "WebSite.Controllers" });

【问题讨论】:

  • 尝试清除一次缓存
  • @AdarshBaranwal 我删除cookie并按ctrl+f5调用url,但问题还是一样。

标签: asp.net-mvc url routes asp.net-mvc-routing routeconfig


【解决方案1】:
public class RegisterController : Controller
{
    public ActionResult Account()
    {
        return View();
    }
}
routes.MapRoute(
    name: "Register",
    url: "Reg/{id}",
    defaults: new { controller = "Register", action = "Account", id = UrlParameter.Optional }
);
routes.MapRoute(
    name: "Default",
    url: "{controller}/{action}/{id}",
    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);

【讨论】:

  • 我不会发送 id 到行动。你发送 id 来调用 action 并且 action 没有参数。为什么?
【解决方案2】:

我解决了这个问题。我安装 IIS 并将我的代码更改为以下代码。然后我的地址就OK了。

 routes.MapRoute(
         name: "Reg",
         url: "Reg",
         defaults: new { controller = "Account", action = "Register" },
         namespaces: new[] { "WebSite.Controllers" }
     );

[Route("Reg")]
    public virtual ActionResult Register()
    {
        return View();
    }

不用说,我把这段代码放在文件RouteConfig的开头 在所有案例之前和之后 routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

现在,我的 url 到处都是 http://localhost:3127/Reg。

【讨论】:

    猜你喜欢
    • 2013-04-09
    • 1970-01-01
    • 2018-09-16
    • 2012-06-03
    • 2017-05-30
    • 2014-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多