6
我想創建一個像url一樣的stackoverflow。MVC 4創建slu type型url
我下面的例子工作正常。但是,如果我刪除控制器,然後它出錯。
http://localhost:12719/Thread/Thread/500/slug-url-text
注意第一個線程是控制器第二個是動作。
我怎樣才能使上面的URL看起來像下面從網址中排除控制器名稱?
http://localhost:12719/Thread/500/slug-url-text
我的路線
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute("Default", // Route name
"{controller}/{action}/{id}/{ignoreThisBit}",
new
{
controller = "Home",
action = "Index",
id = "",
ignoreThisBit = ""
}); // Parameter defaults)
}
}
線程控制器
public class ThreadController : Controller
{
//
// GET: /Thread/
public ActionResult Index()
{
string s = URLFriendly("slug-url-text");
string url = "Thread/" + 500 + "/" + s;
return RedirectPermanent(url);
}
public ActionResult Thread(int id, string slug)
{
return View("Index");
}
}
將string.IsNullOrEmpty更改爲string.IsNullOrWhiteSpace以更好地進行字符串檢查。 – 2014-02-14 15:02:40