RenderPartial을 사용하여 EditorTemplate을 렌더링하는 데 사용할 수있는 방법이 있습니까?RenderPartial과 함께 EditorTemplate 사용
JQuery UI 자동 완성 기능을 사용하여 사용자가 회사 목록에서 선택할 수있게 해주는 EditorTemplate에 많은 작업을 넣었습니다. (HTML 헬퍼를 사용하여 올바른 JS 라이브러리와 CSS 규칙이 생성 된 웹 페이지의 "올바른"위치에 포함되도록합니다.)
동일한 응용 프로그램에 대해 다른 페이지를 만드는 동안 템플릿을 다시 작성하면 EditorTemplate을 구축 한 모델 외부에서 다시 사용할 수 있습니다.
이 코드는 작업을 수행하지만 어떤면에서는 해킹 만 고려할 수 있습니다.
@using(Html.BeginForm()) {
ViewData.TemplateInfo.HtmlFieldPrefix = "CompanyName";
Html.RenderPartial("~/Views/Shared/EditorTemplates/Company.cshtml", string.Empty);
<input type="submit" value='Filter' />
}
내가 EditorFor를 사용하지 않는 때문에, 아니 "이름"매개 변수가 없기 때문에 렌더링 된 입력 필드는 "회사 명"의 HtmlFieldPrefix입니다. 자동 완성 기능이 작동하며 양식을 제출하고 데이터를 필터링 할 수 있습니다. 그러나이 해결책은 지저분하고 허약합니다. 누구나 더 좋은 생각이 있습니까?
아마도 뭔가를 놓쳤습니다. 모델 내부에 없기 때문에 이름 매개 변수가없는 문제를 어떻게 해결할 수 있습니까? (긴급한 문제는 아니며 문제의 페이지에 대한 모델을 만들었지 만 ViewData.TemplateInfo.HtmlFieldPrefix를 남용하는 것보다 더 나은 방법을 여전히 좋아합니다. – Dave