我必須事先承認我對MVC很陌生,我一直在瀏覽www.asp.net/mvc的資源,但我想知道如果你夥計們可以幫助我一些事情。關於在ASP.NET MVC中自定義路由的問題
我被要求創建一個現有的PHP網站的ASP.NET版本,這個網站有一個特定格式的大量現有的鏈接,我必須複製,因爲工作量改變所有現有的鏈接將是太多了。
現有鏈接的格式是;
/([A-Za-z0-9]{14})/([A-Za-z0-9_-]*)
我嘗試創建自定義路線似乎沒有工作。我所做的是將Global.asax.cs文件中的RegisterRoutes方法更改爲;
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"ExistingLink",
"{LinkId}/{Title}",
new {controller="ExistingLinkController", action="Index"},
new {LinkId = @"([A-Za-z0-9]{14})", Title = @"([A-Za-z0-9_-]*)"});
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
}
我還創建了'ExistingLinkController''Index'action of;
public ActionResult Index(string LinkId, string Title)
{
ViewData["LinkId"] = LinkId;
ViewData["Title"] = Title;
return View();
}
和一個包含代碼的視圖;
<h2>LinkId: <%: ViewData["LinkId"] %>
</h2>Title: <%: ViewData["Title"] %></h2>
但是當我嘗試去;
/55a3ef90c4b709 /此結果,剛一-test_0-9
我碰到下面的錯誤;
說明:HTTP 404資源 你正在尋找(或它的 一個依賴項)可能已被移除, 更名,或者是 暫時不可用。請 查看以下URL並確保 拼寫正確。
請求的URL: /55a3ef90c4b709 /此結果,剛一-test_0-9
我想知道是否有人可以看到我做錯了,並可能指向我的方向是正確的,也許指出一些代碼是錯誤的,如果它是一個簡單的問題,或者指向一篇文章,這將有助於我更好地理解,如果我使用這個路由的東西得到了錯誤的結尾。
感謝所有幫助提前
Satal:d
完美謝謝你,我知道這很可能是一些簡單的我不能」由於缺乏經驗,請參閱:D – Satal 2010-10-03 22:56:14