developer tip

Html.RenderPartial로 인해 이상한 과부하 오류가 발생합니까?

copycodes 2020. 8. 16. 20:59
반응형

Html.RenderPartial로 인해 이상한 과부하 오류가 발생합니까?


_Test.cshtml 이라는 테스트 부분 페이지를 만들고 이를 호출 할 뷰와 동일한 디렉터리에 넣었습니다. 여기에 있습니다.

<div>hi</div>

그리고 호출 cshtml보기에서 간단히 다음과 같이 입력합니다.

@Html.RenderPartial("_Test")

오류가 발생합니다.

CS1502 : 'System.Web.WebPages.WebPageExecutingBase.Write (System.Web.WebPages.HelperResult)'에 대한 최상의 오버로드 된 메서드 일치에 잘못된 인수가 있습니다.

나는 또한 동일한 결과로 전체 경로를 시도했습니다.

나는 이것이 왜 이런 식으로 행동하는지에 대해 매우 혼란 스럽습니다. 간단한 것을 놓치고 있다고 생각합니까?


Html.RenderXXX헬퍼가 void를 반환하기 때문에이 오류가 발생 합니다. 응답에 직접 * 내용을 쓰고 있기 때문에 반환 할 것이 없습니다. 다음과 같이 사용해야합니다.

@{ Html.RenderPartial("_Test"); }

구문과 함께 작동하는 Html.Partial 도우미도 있지만 성능 때문에 꼭 필요한 경우가 아니면 사용하지 않는 것이 좋습니다 (먼저 주어진 부분보기를 문자열로 구성한 다음 부모보기가 응답에 넣습니다 * ).

* 이것은 전적으로 사실이 아니며 실제로 ViewContext.Writer로 렌더링되고 전체 페이지가 렌더링되고 구성되면 모든 것이 응답으로 이동합니다.

참고 URL : https://stackoverflow.com/questions/5435893/html-renderpartial-giving-me-strange-overload-error

반응형