17
我寫了一個自定義路由約束,但其過濾器不能被識別。有沒有人有IRouteConstraint工作用例的例子?如何使IRouteConstraint過濾器路由
此外,請注意開發人員:我得到雙重顯示在我的android形式。部分渲染必須有錯誤嗎?
我寫了一個自定義路由約束,但其過濾器不能被識別。有沒有人有IRouteConstraint工作用例的例子?如何使IRouteConstraint過濾器路由
此外,請注意開發人員:我得到雙重顯示在我的android形式。部分渲染必須有錯誤嗎?
這裏有一個簡單的約束查找文章塞在一個虛構的庫:
public class SlugRouteConstraint : IRouteConstraint
{
private readonly ISlugRepository slugRepository = new SlugRepository();
public bool Match(HttpContextBase httpContext, Route route, string parameterName, RouteValueDictionary values, RouteDirection routeDirection)
{
if (!values.ContainsKey(parameterName))
return false;
var slug = (string)values[parameterName];
return slugRepository.Exists(slug);
}
}
你可以連線了約束這樣的:
routes.MapRoute("Slugs", "{slug}",
new { controller = "Articles", action = "View" },
new { slug = new SlugConstraint() });
您是否嘗試過使用調試器設置你的過濾器中的斷點,看它是否被調用? – Eilon 2011-02-15 19:16:42