문제

그래서 이 게시물 에 대해 이야기하는 방법을 실제로 구현하는 url 에 다시 쓰기에 ASP.NET 응용 프로그램을 얻을 수"친절한 url".는 완벽하게 작동하며 그것은 훌륭한 위해 보내는 사용자가 특정 페이지로,그러나 누구나 알고의 솔루션을 만들기 위한"친절"Url 을 내부에 코드를 사용할 때는 하나의 도구를 참조?

예를 들어 목록에 대한 링크의 내부는 asp.net 제어~/mypage.aspx?제품=12 경우 재작성 규칙이 존재하는 것으므로 문제가 당신은 링크에서 콘텐츠에 두 개의 서로 다른 방법이다.

나는 사용에 익숙한 DotNetNuke 및 FriendlyUrl 의 어디에 있다"NavigateUrl"방식을 얻을 것이다 친절한 Url 코드에서 다시 작가 그러나 나를 찾는 것의 예를 사용하여 이 작업을 수행하는 방법 UrlRewriting.net 또는 다른 솔루션은 거기에있다.

최고 싶을 얻을 수 있습니다.

string friendlyUrl = GetFriendlyUrl("~/MyUnfriendlyPage.aspx?myid=13");

편집: 내가 찾는 것은 일반적인 솔루션,하지는 않았을 구현해야에 대한 모든 페이지에서는 나이트,하지만 잠재적으로는 뭔가가 일치할 수 있는 규칙에 대하여 반대 방향으로합니다.

도움이 되었습니까?

해결책

시스템입니다.웹.라우팅

라우팅 다른 에서 다시 쓰기.을 구현하는 이 기술을 필요로 않는 사소한 변화를 당신의 페이지(즉,어떤 코스 쿼리문자열에 매개변수는 수정할 필요가)지만,그것은 당신이 링크를 생성하는 기반으로 노선에 당신을 정의.그것의 사용으로 ASP.NET MVC 지만,에서 채택될 수 있습니다 어떤 ASP.NET 응용 프로그램.

라우팅의 일부입니다.Net3.5SP1

다른 팁

을 만들 UrlBuilder 클래스와 방법에 대한 각각의 페이지를 그렇:

public class UrlBuilder
{
    public static string BuildProductUrl(int id)
    {
        if (true) // replace with logic to determine if URL rewriting is enabled
        {
            return string.Format("~/Product/{0}", id);
        }
        else
        {
            return string.Format("~/product.aspx?id={0}", id);
        }
    }
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top