【问题标题】:MVC Dynamic Views From Url Slug来自 Url Slug 的 MVC 动态视图
【发布时间】:2010-06-23 05:55:53
【问题描述】:

我正在构建我的第一个 .NET MVC Web 应用程序,我喜欢它的简单性和灵活性。然而,我遇到了我的第一个绊脚石。

我有一个项目列表,如果您没有登录,您将看到一个预览链接我希望该链接指向如下内容:

/preview/unique-slug

然后视图应该允许我显示数据库中的内容(本质上是一个详细信息页面)

我不知道如何解决这个问题,也不知道我应该用 Google 搜索什么,因为我得到的结果很差。

请指点一下?

【问题讨论】:

  • 您遇到了哪些问题?生成网址?回应它?

标签: c# asp.net-mvc-2


【解决方案1】:

这是我过去的做法:

您需要在数据库中存储一列,其中包含引用每个项目的 slug。然后,创建如下路径:

routes.MapRoute("PreviewLink",
    "/preview/{slug}",
    new { controller = "Preview", action = "Details" }
);

所以这将在PreviewController 上调用Details 方法,如下所示:

class PreviewController : Controller
{
    public ActionResult Details(string slug)
    {
        var model = db.GetItemBySlug(slug);
        return View("Details", model);
    }
}

基本上,您将在您的操作方法中获取 slug 作为字符串,在数据库中查询具有相应 slug 的项目,并显示它。本质上,我们只是将整数 id 替换为字符串 slug

希望这可以为您解决问题!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-05
    • 1970-01-01
    • 2012-05-12
    • 2012-08-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多