本文整理汇总了C#中RouteCollection.AddPageRoute方法的典型用法代码示例。如果您正苦于以下问题:C# RouteCollection.AddPageRoute方法的具体用法?C# RouteCollection.AddPageRoute怎么用?C# RouteCollection.AddPageRoute使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类RouteCollection
的用法示例。
在下文中一共展示了RouteCollection.AddPageRoute方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: RegisterRoutes
/// <summary>
/// Registers the routes.
/// </summary>
/// <param name="routes">The routes.</param>
private void RegisterRoutes( RouteCollection routes )
{
PageRouteService pageRouteService = new PageRouteService();
// find each page that has defined a custom routes.
foreach ( PageRoute pageRoute in pageRouteService.Queryable() )
{
// Create the custom route and save the page id in the DataTokens collection
routes.AddPageRoute( pageRoute );
}
// Add API route for dataviews
routes.MapHttpRoute(
name: "DataViewApi",
routeTemplate: "api/{controller}/DataView/{id}",
defaults: new
{
action = "DataView"
}
);
// Add any custom api routes
foreach ( var type in Rock.Reflection.FindTypes(
typeof( Rock.Rest.IHasCustomRoutes ) ) )
{
var controller = (Rock.Rest.IHasCustomRoutes)Activator.CreateInstance( type.Value );
if ( controller != null )
controller.AddRoutes( routes );
}
// Add Default API Service routes
// Instead of being able to use one default route that gets action from http method, have to
// have a default route for each method so that other actions do not match the default (i.e. DataViews)
routes.MapHttpRoute(
name: "DefaultApiGet",
routeTemplate: "api/{controller}/{id}",
defaults: new
{
action = "GET",
id = System.Web.Http.RouteParameter.Optional
},
constraints: new
{
httpMethod = new HttpMethodConstraint( new string[] { "GET" } )
}
);
routes.MapHttpRoute(
name: "DefaultApiPut",
routeTemplate: "api/{controller}/{id}",
defaults: new
{
action = "PUT",
id = System.Web.Http.RouteParameter.Optional
},
constraints: new
{
httpMethod = new HttpMethodConstraint( new string[] { "PUT" } )
}
);
routes.MapHttpRoute(
name: "DefaultApiPost",
routeTemplate: "api/{controller}/{id}",
defaults: new
{
action = "POST",
id = System.Web.Http.RouteParameter.Optional
},
constraints: new
{
httpMethod = new HttpMethodConstraint( new string[] { "POST" } )
}
);
routes.MapHttpRoute(
name: "DefaultApiDelete",
routeTemplate: "api/{controller}/{id}",
defaults: new
{
action = "DELETE",
id = System.Web.Http.RouteParameter.Optional
},
constraints: new
{
httpMethod = new HttpMethodConstraint( new string[] { "DELETE" } )
}
);
// Add a default page route
routes.Add( new Route( "page/{PageId}", new Rock.Web.RockRouteHandler() ) );
// Add a default route for when no parameters are passed
routes.Add( new Route( "", new Rock.Web.RockRouteHandler() ) );
}
示例2: RegisterRoutes
/// <summary>
/// Registers the routes.
/// </summary>
/// <param name="routes">The routes.</param>
private void RegisterRoutes( RockContext rockContext, RouteCollection routes )
{
routes.Clear();
PageRouteService pageRouteService = new PageRouteService( rockContext );
// find each page that has defined a custom routes.
foreach ( PageRoute pageRoute in pageRouteService.Queryable() )
{
// Create the custom route and save the page id in the DataTokens collection
routes.AddPageRoute( pageRoute );
}
// Add a default page route
routes.Add( new Route( "page/{PageId}", new Rock.Web.RockRouteHandler() ) );
// Add a default route for when no parameters are passed
routes.Add( new Route( "", new Rock.Web.RockRouteHandler() ) );
}
示例3: RegisterRoutes
/// <summary>
/// Registers the routes.
/// </summary>
/// <param name="routes">The routes.</param>
private void RegisterRoutes( RouteCollection routes )
{
PageRouteService pageRouteService = new PageRouteService();
// find each page that has defined a custom routes.
foreach ( PageRoute pageRoute in pageRouteService.Queryable() )
{
// Create the custom route and save the page id in the DataTokens collection
routes.AddPageRoute( pageRoute );
}
// Add any custom api routes
foreach ( var type in Rock.Reflection.FindTypes(
typeof( Rock.Rest.IHasCustomRoutes ),
new DirectoryInfo[] { new DirectoryInfo( Server.MapPath( "~/bin" ) ), new DirectoryInfo( Server.MapPath( "~/Plugins" ) ) } ) )
{
var controller = (Rock.Rest.IHasCustomRoutes)Activator.CreateInstance( type.Value );
if ( controller != null )
controller.AddRoutes( routes );
}
// Add API Service routes
routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = System.Web.Http.RouteParameter.Optional }
);
// Add a default page route
routes.Add( new Route( "page/{PageId}", new Rock.Web.RockRouteHandler() ) );
// Add a default route for when no parameters are passed
routes.Add( new Route( "", new Rock.Web.RockRouteHandler() ) );
}
示例4: RegisterRoutes
/// <summary>
/// Registers the routes.
/// </summary>
/// <param name="routes">The routes.</param>
private void RegisterRoutes( RockContext rockContext, RouteCollection routes )
{
routes.Clear();
PageRouteService pageRouteService = new PageRouteService( rockContext );
// Add ingore rule for asp.net ScriptManager files.
routes.Ignore("{resource}.axd/{*pathInfo}");
// Add page routes
foreach ( var route in pageRouteService
.Queryable().AsNoTracking()
.GroupBy( r => r.Route )
.Select( s => new {
Name = s.Key,
Pages = s.Select( pr => new Rock.Web.PageAndRouteId { PageId = pr.PageId, RouteId = pr.Id } ).ToList()
} )
.ToList() )
{
routes.AddPageRoute( route.Name, route.Pages );
}
// Add a default page route
routes.Add( new Route( "page/{PageId}", new Rock.Web.RockRouteHandler() ) );
// Add a default route for when no parameters are passed
routes.Add( new Route( "", new Rock.Web.RockRouteHandler() ) );
}