2011-05-05 7 views
0

ASP.NET MVC 애플리케이션을 개발 중이며 URL 경로의 파일 이름을 관리하고 있습니다. 일부 경로에서 오류를 피하기 위해 URL 파일 이름을 인코딩해야합니다 (예 : '+'문자를 사용하면 Mono/XSP에서 오류가 발생 함).URL 청크를 인코딩하는 방법

하지만, 예를 들어, 파일 이름 만 인코딩해야합니다

/dir1/this has spaces/file+name.txt 

나는 다음과 같은 출력이 필요합니다 :이 입력 주어진

예를 들어

,

/dir1/this%20has%20spaces/file%2bname.txt 

주를이 나는 패스 분리자를 인코딩하고 싶지 않다. 어떠한 제안?

미리 감사드립니다.


편집 : 나는 다음과 같은 사용하여 내 URL을 짓고 있어요 :

<%= Html.ActionLink(
      Html.Encode(revision.Name), 
      "Details", 
      "Items", 
      Model.GetRouteParameters(revision.FullPath), 
      null) %> 

GetRouteParameters 것은 다음

public object GetRouteParameters(string path) 
{ 
    return new 
    { 
     repository = ItemProvider.GetBrowsingObject().Repository, 
     path = path, 
     browsing = ItemProvider.GetBrowsingObject().Name 
    }; 
} 

내가 어떤 "위험"을 인코딩하고 싶습니다 저장소의 문자, 경로 또는 찾아보기 이름

+0

어떻게 처음부터 이러한 URL을 구성하고 있습니까? 여기가 인코딩되어야합니다. 그 후로. 잘못된 URL을 얻으면 * 수정하기가 더 어렵습니다. –

+0

@ 다린 : 답장을 보내 주셔서 감사합니다. 제 편집을 참조하십시오. –

답변

3

HttpUtility.UrlEncode을 사용하면 URL을 안전하게 인코딩 할 수 있습니다. 별도의 경로 구성 요소를 인코딩 한 다음 경로를 만들어야합니다.

관련 문제