3
據我所知,在ASP.Net DynamicData(也許經常ASP或MVC)我可以提供我自己的RouteHandler什麼時候可以使用我自己的RouteHandler?
routes.Add(new DynamicDataRoute("{table}/{action}.aspx") {
RouteHandler = new CustomRouteHandler()
});
public class CustomRouteHandler : DynamicDataRouteHandler
{
public override IHttpHandler CreateHandler(DynamicDataRoute route, MetaTable table, string action)
{
// what kind of cool stuff should I add in here?
return base.CreateHandler(route, table, action);
}
protected override string GetCustomPageVirtualPath(MetaTable table, string viewName)
{
// what kind of cool stuff should I add in here?
return base.GetCustomPageVirtualPath(table, viewName);
}
protected override string GetScaffoldPageVirtualPath(MetaTable table, string viewName)
{
// what kind of cool stuff should I add in here?
return base.GetScaffoldPageVirtualPath(table, viewName);
}
}
但有人可以解釋我怎麼會填補這一類呢? (舉一些例子代碼)
我會重寫什麼來做一些有用的事情?
我可以用自己的RouteProvider做些什麼?給我舉例說明哪些地方有用。
作爲一個例子,我想爲某些表做一個401重定向,但繼續使用其他表的默認行爲(當然是基於角色或登錄用戶)。
謝謝。你做過這樣的事嗎?你能展示一些示例代碼嗎? – 2009-11-20 20:10:52
請仔細閱讀以下內容:http://chriscavanagh.wordpress.com/2008/03/11/aspnet-routing-goodbye-url-rewriting/ – Sean 2009-11-20 20:21:55
而且這也是:http://msdn.microsoft.com/zh-cn/ -us /雜誌/ dd347546.aspx – Sean 2009-11-20 20:23:41