【发布时间】:2010-12-18 20:56:25
【问题描述】:
我了解在 ASP.Net DynamicData(也可能是常规 ASP 或 MVC)中,我可以提供自己的 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 重定向,但对其他表继续使用默认行为(当然,基于角色或登录用户)。
【问题讨论】: