2012-08-28 49 views
0

我有一個問題,試圖綁定2個數據庫值的URL我的Global.asax文件是正確的,因爲MVC 3路由綁定問題

routes.MapRoute(
      "Default", // Route name 
      "{controller}/{action}/{id}/{stitle}", // URL with parameters 
      new { controller = "article", action = "Index", id = UrlParameter.Optional, stitle= UrlParameter.Optional} // Parameter defaults 

     ); 

我遇到的問題是與我的控制器由於某種原因,我不能得到的二值回到這裏是我的控制器代碼

public ActionResult Detail(int id,string stitle) 
    { 

     Article article = db.Articles.Find(id); 
     stitle = (from s in db.Articles where id == s.ArticleID select s.stitle).FirstOrDefault(); 

     return View(article); 
    } 

是有什麼方法,我可以在文章內返回stitle或包括其自stitle是一個字符串值數據庫。

回答

0

只有路線的最後一個參數可以是可選的。所以,你的情況id參數可以不再是可選的:

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

然後確保你正在生成正確的鏈接,這個動作:

@Html.ActionLink("click me", "index", "article", new { id = "123", stitle = "some-title" }, null) 

和生成的URL應該是這樣的:

href="/article/index/123/some-title" 
+0

非常感謝你解決它。 – user1591668