我正在编写一个网站,就像我们可以从以下网址访问用户个人资料的平台:
www.mywebsite.com/DanielVC
具有该配置文件详细信息的控制器如下
我已经为所有申请提供了以下路线:
{
"version": "0.1.0",
"command": "tsc",
"isShellCommand": true,
"showOutput": "silent",
"args": ["-p", "."],
"problemMatcher": "$tsc"
}
我已经尝试创建以下路线:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Pages", action = "Index", id = UrlParameter.Optional }
);
但没有工作
答案 0 :(得分:2)
把它放在(以上)默认路线上。
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
}
}
答案 1 :(得分:0)