• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

03. MVC패턴 강의 질문입니다.

21.10.25 19:43 작성 조회수 199

0

Login.cshtml -> 11라인 asp-controller ="Membership" 

 

"Membership" 이라는게 MembershipController.cs 가 맞나요?

"Membership", "MembershipController" 둘다 사용해도 되는건가요?

답변 1

답변을 작성해보세요.

0

infylcw님, 반갑습니다.

View(cshtml)의 form태그에서 asp-controller라는 속성은 Controller의 이름을 지정하는 부분입니다.

그런데, Controller는 모든 컨트롤러에 공통으로 이름에 포함이 되기 때문에 생략할 수 있도록 .NET Core에서 만들어 놓은 것입니다.

Membership을 MembershipController로 입력하신 후 실행하시면 에러가 발생하는 것을 확인하실 수 있습니다.

Controller를 접미어로 붙이지 않고 앞부분 Membership만 입력하셔야 합니다.

P.S. 그리고 아시는 바와 같이, form 태그에는 asp-controller라는 속성이 없습니다. 그런데 asp- 로 시작하는 속성들을 사용할 수 있는 것은 form 태그가 TagHelper라고 해서 asp- 접두어를 가진 속성들을 사용할 수 있도록 도와주기 때문에 사용가능한 것입니다.

브라우저에서 최종 랜더링된 결과 소스를 확인해 보시면 asp-controller와 asp-action 또 별도의 파라미터가 있다면 asp-route-returnurl="@ViewData["ReturnUrl"]" 와 같은 형태로 추가해 줍니다.

그러면, 전체링크가 조합이 되면서 /Membership/Login?returnUrl=/Data/AES 와 같은 URL로 이동할 수 있게 됩니다.

또 궁금한 것이 있으면 언제든지 추가로 질문해 주세요.

감사합니다.