2011-12-22 3 views
5

asp.net MVC3을 사용하여 원격 유효성 검사가 필요한 부분 뷰가 있습니다. 내가 이해하기 때문에 이것은 자신의 컨트롤러가 필요하다는 것을 의미하므로 Html.Action을 사용하여이 뷰와 컨트롤러를 호출합니다.Html.Action에 모델 전달

그러나 Html.Action과 마찬가지로 모델을 Html.Action에 전달하고 싶습니다. 어떻게해야합니까?

+0

Html.Action을 (통과해야합니다)을하지 않는다 "는 자신의 컨트롤러"는 ViewResult \ PartialViewResult을 반환 단지 컨트롤러 메소드가 필요합니다 – gdoron

답변

9

Html.Action에는 경로 값을 개체로 예상하는 오버로드가 있습니다. 당신은 거기에 모델을 전달하려고 시도 할 수 있고 모델 바인딩이 시작될 것입니다. 당신의 액션은 Model 타입의 매개 변수를 기대해야합니다.

Html.Action("ActionName","ControllerName", Model) 
1

당신은 익명 클래스와 모델

@Html.Action("Menu", "MyController", new { data = Model.Foo.Bar}) 

    [ChildActionOnly] 
    public ActionResult Menu(Bar data) 
    { 
     return PartialView("Menu", data); 
    } 
관련 문제