IT Share you

ASP.NET MVC URL 경로에 해시 값 포함

shareyou 2021. 1. 9. 10:53
반응형

ASP.NET MVC URL 경로에 해시 값 포함


해시 값을 구현해야합니다. 즉, Url은 다음과 같아야합니다.

/ home / index / # create

이를 위해 경로를 추가했습니다.

routes.MapRoute(
    "Default",    // Route name
    "{controller}/{action}/#{detail}",    // URL with parameters
    new { controller = "Login", action = "LogIn",  detail  =""}  // Parameter defaults
);

에 액세스 /home/index/#create하면 기본 경로로 리디렉션됩니다.

어떻게 할 수 있습니까?


#이 값은 서버로 전송되지 않기 때문에 서버 에서 기호 뒤에있는 값을 가져올 수 없습니다 . 클라이언트 측 자바 스크립트 만 이에 액세스 할 수 있으므로 해시로 경로를 정의하는 것은 의미가 없습니다.


언급했듯이 라우팅을 사용하여이를 수행 할 수있는 방법은 없습니다. 가능한 유일한 해결책은 컨트롤러의 작업에서 리디렉션 할 때 URL에 # 조각을 추가하는 것입니다. 예 :

return Redirect(Url.Action("Index", "Home") + "#create");

브라우저가 URL을 요청할 때 해시 후 서버에 아무것도 보내지 않습니다. 이 경로를 사용하면 해시 값을 포함하는 경로 URL 생성 할 수 있지만 사용자가 이러한 URL로 이동할 때 서버 측 에서 수행 할 방법이 없습니다 . 이것이 바로 웹이 작동하는 방식입니다 ...

참조 URL : https://stackoverflow.com/questions/5567721/include-hash-values-in-asp-net-mvc-url-routes

반응형