我在c#中使用c#4和web表单。
我想知道如何扩展RouteCollection Class for Web表单路由。
由于MSDN状态,RouteCollectionExtensions类仅适用于MVC路由。因此,我想知道Web表单中的等效内容是如何实现的。
谢谢
发布于 2011-08-08 14:08:23
ASP.NET路由可用于.NET 4和3.5中的webforms。
有关于MSDN的指导。http://msdn.microsoft.com/en-us/library/cc668201.aspx
webforms示例要求您在global.asax中添加以下内容
protected void Application_Start(object sender, EventArgs e)
{
RegisterRoutes(RouteTable.Routes);
}
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapPageRoute("",
"Category/{action}/{categoryName}",
"~/categoriespage.aspx");
}RouteCollectionExtensions类型为MVC框架提供了扩展RouteCollection的扩展方法,您可以创建自己的可拓方法来扩展RouteCollection。
下面是一个简单的例子,我相信您会希望将MyRouteCollectionExtensions放在其他地方。
using System;
using System.Web.Routing;
namespace WebFormsExtension
{
public class Global : System.Web.HttpApplication
{
void Application_Start(object sender, EventArgs e)
{
RegisterRoutes(RouteTable.Routes);
}
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapCustomRoute("SampleRoute/{name}");
}
}
public static class MyRouteCollectionExtensions
{
public static void MapCustomRoute(this RouteCollection routes, string url)
{
PageRouteHandler handler = new PageRouteHandler("~/default.aspx");
Route myRoute = new Route(url, handler);
routes.Add(myRoute);
}
}
}https://stackoverflow.com/questions/6982946
复制相似问题