在 Mvc 的 Route Config 中更改 url
Change url in Route Config in Mvc
我想更改函数的地址(通过 RegisterRoutes)。
我定义了两个 routes.MapRoute 但没有工作。
我检查了很多例子并将我的代码与它们匹配,但问题仍然存在。
真实地址是:
http://localhost:3127/account/register/3
我希望将我的地址更改为以下地址:
http://localhost:3127/注册
是否应该在函数的顶部使用 [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" });
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 }
);
我解决了这个问题。我安装 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。
我想更改函数的地址(通过 RegisterRoutes)。 我定义了两个 routes.MapRoute 但没有工作。 我检查了很多例子并将我的代码与它们匹配,但问题仍然存在。 真实地址是: http://localhost:3127/account/register/3
我希望将我的地址更改为以下地址: http://localhost:3127/注册
是否应该在函数的顶部使用 [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" });
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 }
);
我解决了这个问题。我安装 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。