ASP.NET MVC 응용 프로그램에서 Global.asax
의 URL에 액세스하려면 Request.Url
이 있습니다.Global.asax에서 Angular view의 전체 URL을 얻는 방법
URL이 http://domain/#/home
인 각도 응용 프로그램의 경우. 우리가 Application_BeginRequest
또는 Application_EndRequest
에서 얻은 Request.Url
은 http://domain/
입니다. 각도 경로는 포함되지 않습니다.
이러한 경로가 클라이언트 쪽에서 추가되기 때문에 적절합니다. 그러나 MVC 서버 측에서 실제 URL의 가치를 얻을 수 있습니까?
업데이트 :
그냥 올바른으로 마테오의 답변을 들었다. 내가 좀 더 명확히하자.나는 이것을 한 가지 목적으로 시도해왔다 : 나의 URL을 다시 써라.
예전에는 Request.ApplicationPath
을 확인하고 VirtualPathUtility
과 같은 내장 함수 또는 문자열 함수를 사용하여 URL을 조작했습니다.
해시 부분은 쿼리 문자열 매개 변수가 추가되어 있기 때문에 필요합니다. 예를 들어, 나는 URL을 다음과 같이 있습니다
http://[domain]/#/pay/cancel?paymentId=[some guid]
상식이 그 쿼리 매개 변수에 액세스 할 수 Global.asax
에 저를 가져왔다. 나는 아무도 찾지 않는다. 해시 태그 뒤의 모든 것은 편리하게 무시됩니다.
올바른 방법은 클라이언트 측 코드에서 URL의 해당 부분을 처리하는 것입니다. ui-router
을 사용하고 있습니다. 따라서 URL 다시 쓰기/리디렉션의 경우 stateProvider.when(oldUrl, newUrl);
을 사용하십시오. 검색어 매개 변수에 액세스하려면 $state.params
을 사용하십시오.
교훈 : 명확하게 생각하고 다른 사고 방식으로 다른 문제에 접근하십시오.
그게 전부입니다. ui-router 구성 요소를 사용하면 말한대로 정확히 수행해야합니다. 이 문제를 해결할 올바른 방법을 스스로 찾은 것을 기쁘게 생각합니다. –