ASP.NET UrlRewriting 하고 건설하는 페이지는 링크
-
01-07-2019 - |
문제
그래서 이 게시물 에 대해 이야기하는 방법을 실제로 구현하는 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);
}
}
}