2013-01-23 2 views
2

MVC 4 프로젝트에서 뷰와 부분 뷰가 있습니다. 3 개의 텍스트 상자, 하나의 확인란 및 view.I 드롭 다운 내 컨트롤러, 호출 및 매개 변수를 전달하고 부분보기에서 결과를 얻고 뷰의 div 태그에 표시하려면 ajax.actionlink 메서드를 사용하고 있습니다 페이지.Ajax.ActionLink에 여러 매개 변수 전달

여기 내 코드입니다.

@Html.TextBoxFor(m=>m.searchParameter.cityName) 
@Html.TextBoxFor(m=>m.searchParameter.CountryName) 
@Html.TextBoxFor(m=>m.searchParameter.StateName) 

@Ajax.ActionLink("submit", "DisplaySearchResult", "Home" 
     , new { searchParameter = Model.searchParameter } 
    , new AjaxOptions() { HttpMethod = "Post", UpdateTargetId = "Results", InsertionMode = InsertionMode.Replace }, new { id = "DisplaySearchResult" }). 

문제는 매개 변수를 모델에 전달할 수 없습니다. MVC4를 처음 사용합니다. jquery 또는 javascript를 사용하여 매개 변수를 전달할 수있는 방법이 있습니까? 내 검색 결과에서 페이지를로드하고 싶지 않습니다.

답변

1

내가 알기로 귀하는 검색 양식을 구현하려고합니다.

$("#submit").click(function() { 

      var $form = $('form'); 

      $.ajax({ 
       type: "GET", 
       cache: false, 
       url: '@Url.Action(ActionName, ControllerName)', 
       data: $form.serialize(), 
       success: loadResult 
      }); 

function loadResult(data) 
     { 
      $("#container").html(data); 
     } 

그냥 액션 방법을 확인하십시오

@Html.TextBox("CityName", string.Empty) 
@Html.TextBox("CountryName", string.Empty) 
@Html.TextBox("StateName", string.Empty) 

그런 다음 당신은 당신의 액션 메소드로 값을 전달하기 위해 jQuery를 조금 사용할 수 있습니다 :이 경우에 나는 ViewModel를 사용하여 일반적으로이 작업을 수행 피할 값이 올바르게 바인드되도록 적절한 매개 변수 CityName, CountryName, StateName을가집니다.

관련 문제