2013-09-03 1 views
2

.cs HTML을 생성하는 파일이 있습니다. 이 코드에서는 WebPageExecutingBase.Href() 메서드를 사용하여이 코드를 좀 더 어리석은 증거로 만들고 싶습니다.이 메서드는 주로 전에 많은 cshtml 파일에서 수행했으며 (주로 물결표 ~ 사용)."WebPageExecutingBase.Href()"메서드를 사용하게 할 내 .cs 파일에서 구현할 수있는 지시문은 무엇입니까?

string html = "<a href=\"~/SomeFolder/SomeFile.cshtml\">Link</a>"; //Generates a broken link. 

하지만의 환경에서 Href() 방법 사용에 대한 적절한 사용 지침을 가져올 수없는 것 : 그냥 물결표를 포함하는 경우

그러나, 링크는 생성 된 HTML에 깨진 파일 만 .cs.

using System.Web; 

using System.Web.WebPages; 

그리고 WebPageExecutingBase.Href()을 사용하려고하지만, "WebPageExecutingBase"부분은 인텔리은 "Href에()"에 표시하면서 않습니다 (그리고, 사실, 발생하지 :

나는 시도 서버 측 오류는 두 번째 'object'인수를 요구하지만 이전에 여러 번 한 번만이 동일한 메소드를 사용했습니다.

여기에 정보를 찾으려고했습니다. http://msdn.microsoft.com/en-us/library/system.web.webpages.webpageexecutingbase(v=vs.111).aspx하지만 아무 소용이 없습니다.

나는이 권리가 있다고 생각했지만 지금은이 방법을 전혀 사용할 수 있는지 잘 모르겠습니다.

.cs C# 파일의 문자열에 생성 된 HTML 내에서 Href() 메서드 (또는 그 안에있는 동일한 기능)를 구현할 수있는 방법이 있습니까?

답변

2

Href 메서드는 클래스에서 사용하기위한 것이 아닙니다. 대신 VirtualPathUtility를 사용해야합니다. System.Web에 대한 using 지시문을 포함해야합니다. 그러면

string html = string.Format("<a href=\"{0}\">Link</a>", VirtualPathUtility.ToAbsolute("~/SomeFolder/Somefile.cshtml")); 
+0

감사합니다. 나는 결코 그것을 짐작하지 않고 있었을 것이다 :) – VoidKing

관련 문제