如何为 www.website.com/profile 创建路由
本文关键字:profile 创建 路由 com website www | 更新日期: 2023-09-27 18:37:11
我正在编写一个网站,就像一个平台,我们可以从以下URL访问用户配置文件:
www.mywebsite.com/DanielVC
具有有关配置文件的详细信息的控制器如下
- 控制器:珀菲尔
- 操作: 珀菲尔
我已经为所有应用程序提供了以下路线:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Pages", action = "Index", id = UrlParameter.Optional }
);
我已经尝试创建以下路由:
routes.MapRoute(
name: "Perfil",
url: "Pages/{id}",
defaults: new { controller = "Pages", action = "Index", id = UrlParameter.Optional }
);
但没有奏效
将此 BEFORE(上面)作为默认路由。
routes.MapRoute(
name: "Perfil",
url: "{id}",
defaults: new { controller = "Pages", action = "Index", id = UrlParameter.Optional }
);
此外,这将导致每个路由都重定向到 Perfil 路由。如果未找到用户名(例如 mywebsite.com/randomuserthatdoesntexist)和/或其他路由 (mywebsite.com/contact),则必须在该操作中创建重定向。
编辑
方法示例
public class PagesController : Controller
{
public ActionResult Index(string id)
{
if (matchesOtherRoute(id))
RedirectToAction("OtherAction", "OtherController");
if (!userExists(id))
RedirectToAction("NotFoundAction", "ErrorController");
// Do other stuff here
}
}
它应该是这样的路线。地图路线( 名称:"珀菲尔", 网址: "Pages/{id}", 默认值:new { controller = "Perfil", action = "Perfil", id = UrlParameter.Optional });