爲了建立這條路線相匹配的鏈接:
routes.MapRoute(
"CatalogFilter",
"{url}Catalog.aspx/{fltr}",
new { controller = "Catalog", action = "Index", page = 1 }
);
您需要指定所有存在於路線值路線。你有5個值:
- 控制器
- 行動
- 頁
- 網址
- FLTR
所以,你需要提供所有5個值,以匹配從ActionLink
的路線。如果你想生成的URL /MotorOilCatalog.aspx/156
,你必須做出ActionLink
這樣的:
@Html.ActionLink("my link", "Index", "Catalog", new { page = 1, fltr = 156, url = "MotorOil" }, null)
請注意,您有它的配置方式,從URL重寫頁碼的唯一途徑是將其添加到查詢字符串。
/MotorOilCatalog.aspx/156?page=2
由於您的問題不清楚,我假設,當然,這是一個MVC應用程序,你必須在一個Index
方法您的應用程序Catalog
控制器。
public class CatalogController : Controller
public ActionResult Index(string url, int fltr, int page)
{
// Implementation
return View();
}
}
如果這其實就是一個ASP.NET應用程序,你應該使用MapPageRoute,而不是MapRoute
建立你的路線將它們映射到物理頁,而不是控制器。
參考:https://msdn.microsoft.com/en-us/library/cc668177.aspx
你是不是想航線的URL到控制器,或ASP.NET頁? – NightOwl888
@ NightOwl888,我正在嘗試路由該網址。參數'fltr'總是爲'null',鏈接與路由不匹配。 – mykhailovskyi