MVC 2 - URL 缩短/路由(地图路由)

发布于 2024-10-15 10:39:02 字数 680 浏览 6 评论 0原文

我有一个 URL: http://localhost:XXXX/Details/569

我想将其缩短为: http://localhost:XXXX/569

目前我有:

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

那么我在路线中做了哪些更改,以便何时输入一个整数值,它会转到 HomeController 中的“详细信息”函数:

public ActionResult Details(int recordID)
{
    /** Code Here **/
    return View();
}

编辑:捕获错误

另外,我如何捕获应用程序中发生的任何错误?我不想显示错误转储,而是想显示一条“好”消息,上面写着“哎呀!有东西坏了!”。

I have a URL: http://localhost:XXXX/Details/569

I want to shorten it to: http://localhost:XXXX/569

Currently I have:

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

So what changes do I do in my routes so that when an integer value is entered, it goes to my Details function in the HomeController:

public ActionResult Details(int recordID)
{
    /** Code Here **/
    return View();
}

EDIT: Catching Errors

Also how can I catch for any error that happens in the application? Rather than display an error dump, I would like to show a "nice" message that says, "Oops! Something Broke!".

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

青春如此纠结 2024-10-22 10:39:02

将此路由添加到默认路由之前。它将确保仅包含数字的 URL 调用 HomeController 的详细信息操作。

routes.MapRoute(
    "RecordDetails",
    "xxxx/{RecordID}",
    new { controller = "Home", action = "Details", RecordID=0 },
    new { RecordID = @"\d+" });

Add this route before the default one. It will make sure the URLs containing only numbers calls HomeController's Details action.

routes.MapRoute(
    "RecordDetails",
    "xxxx/{RecordID}",
    new { controller = "Home", action = "Details", RecordID=0 },
    new { RecordID = @"\d+" });
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文