2010-06-23 19 views
1

我建立我的第一个.NET MVC的Web应用程序和爱的简单性和灵活性。然而,我却遇到了我的第一个绊脚石。MVC动态视图从以下网址弹头

我有一个项目列表,如果你是不是在您登录会看到一个预览链接,我想的链接直接到类似如下:

/preview/unique-slug 

视图应然后让我显示从数据库中(实质上是详细信息页)

内容我不知道如何处理这个也不是我应该Google'ing因为我得到的结果是穷人。

任何指针吗?

+0

这一点,你有麻烦?生成URL?回应它? – 2010-06-23 05:59:16

回答

3

这是我在过去做到了这一点的方法:你需要在数据库中存储与塞一列,每一个项目是指由

。然后,创建类似下面的路径:

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

因此,这将调用Details方法上PreviewController像这样:

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

基本上,你会得到塞在你操作的字符串方法,使用相应的slu query查询数据库中的项目,并显示它。基本上,我们只是用一个字符串slug替换整数id

希望这将清除的东西了你!