0

특정 페이지로 라우팅하기 위해 수식 .com/{a page}/{a subpage} 다음에 오는 모든 URL을 라우팅하려고하는 라우트 구성 파일이 있습니다. 기본값/Page.aspx. 내 문제는 모든 페이지 (예 : .com/Account/Login.aspx)에 대해이 작업을 수행한다는 것입니다. 사용자가 검색 주소창에 입력 할 때만 해당 페이지로 연결되도록 지정하는 방법이 있습니까? ? 그들은에서 .aspx 확장자를 나갈 때만이 내가 지금까지 무엇을 가지고 :ASP.NET 라우팅 모든 페이지

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(); 
     } 
    } 
} 

덕분에 여기

답변

0

문제는 경로의 최우선 함께 같은 수의 2 개 루트가있는 경우!. 하드 코딩 된 값이없는 경우에는 항상 선언 된 첫 번째 경로를 고려합니다. 예를 들어 다음 두 경로가 등록 된 경우

routeCollection.MapPageRoute("LearnMore", "{param1}/{param2}", "~/About.aspx"); 
routeCollection.MapPageRoute("DefaultPage", "{param3}/{param4}", "~/Account/Login.aspx"); 

위의 경우 LearnMore 경로는 About.aspx 페이지를 요청할 때 유효한 것으로 간주됩니다.

아래처럼 뭔가를 할 수 : 이것은 각각의 페이지로 리디렉션됩니다

routeCollection.MapPageRoute("LearnMore", "learnmore/{param1}/{param2}", "~/About.aspx"); 
routeCollection.MapPageRoute("DefaultPage", "default/{param3}/{param4}", "~/Account/Login.aspx"); 

. URL 라우팅에 대한 자세한 내용은 아래 URL을 참조하십시오.

http://karmic-development.blogspot.in/2013/10/url-routing-in-aspnet-web-forms-part-2.html

감사 & 감사합니다, Munjal

+0

좋아,하지만 내 문제는 내가 같은 로그인하는 방법과 내 사이트에서 링크를 클릭하면이 리디렉션 점이다. – Jack

+0

야, 할 수 있습니다 제발 당신의 문제를 알려주십시오. 나는 위의 코멘트에서 당신의 요지를 가지고 있지 않았다. –