문제

스크립트와 CSS 결합을 위해 ihttphandler에서 상속되는 수업을 작성하고 있습니다. QueryString에 특수 매개 변수가 정의 된 경우에만 결합하고 싶습니다. 이 매개 변수가 정의되지 않으면 핸들러가 관여하지 않은 것처럼 파일의 내용을 작성하고 싶습니다. 내가 겪고있는 한 가지 문제는 가상 디렉토리의 스크립트를 나타내는 페이지에 스크립트 태그가 있지만 내가 쳤던 페이지는 응용 프로그램의 하위 디렉토리에 있다는 것입니다.

제어 스크립트가 참조되는 페이지는 http : //webserver/admin/default.aspx. Ihttphandler를 구현하는 클래스의 요청 객체에 액세스 할 때 모든 파일 경로 속성은 다음과 같습니다. Webserver/admin/~/sharedscripts/control.js. 이것을 어떻게 해결합니까?

도움이 되었습니까?

해결책 2

이것이 제가 생각해 낸 해결책입니다.

string fileContent = string.Empty;
string filePath = context.Request.PhysicalPath;
int tildeLocation = filePath.LastIndexOf("~");

string location = (tildeLocation == -1 ? filePath : context.Server.MapPath(filePath.Substring(tildeLocation, filePath.Length - tildeLocation)));

다른 팁

기본적으로, 당신은 필요합니다 ResolveUrl 방법, 그러나 당신은 a가 없습니다 Page, 또는 그 문제에 대한 통제. 이 기사 a없이 그렇게하는 방법을 설명합니다 Page 당면한 물체.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top