特定のページ .com/Default/Page.aspx にルーティングするために、式 .com/{a page}/{a subpage} に従うすべての URL をルーティングしようとしているルート構成ファイルがあります。私の問題は、すべてのページ (つまり、.com/Account/Login.aspx) に対してこれを行うことです。ユーザーがアドレスバーに入力した場合にのみ、そのページにルーティングするように指定する方法はありますか?彼らが .aspx 拡張子を省略した場合のみ?これは私がこれまでに持っているものです:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Microsoft.AspNet.Membership.OpenAuth;
using System.Web.Routing;
using Microsoft.AspNet.FriendlyUrls;
namespace CouponsForGiving
{
public static class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.Ignore("{resource}.axd/{*pathInfo}");
routes.MapPageRoute("LearnMore", "LearnMore", "~/LearnMore.aspx");
routes.MapPageRoute("DefaultPage", "{nponame}", "~/Default/NPOPage.aspx");
routes.MapPageRoute("CampaignPage", "{nponame}/{campaignname}", "~/Default/CampaignPage.aspx"); //This one routes a lot of other pages
routes.EnableFriendlyUrls();
}
}
}
ありがとう!