6

검색 양식이 Ajax 양식입니다. 폼 내에서 DropDownList가 변경되면 Ajax 양식 내의 PartialView를 새로 고쳐야합니다 (GET 요청을 통해). 그러나 GET 요청을 통해 결과를 얻은 후에 PartialView를 새로 고치려면 어떻게해야할지 모르겠습니다.ASP.NET MVC - DropDownList가 변경되었을 때 PartialView 새로 고침

Search.aspx

<%@ Page Title="" Language="VB" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %> 

<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server"> 
    Search 
</asp:Content> 

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> 

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#Sections").change(function() { 

      var section = $("#Sections").val(); 
      var township = $("#Townships").val(); 
      var range = $("#Ranges").val(); 

      $.ajax({ 
       type: "GET", 
       url: "Search/Search?section=" + section + "&township=" + township + "&range=" + range, 
       contentType: "application/json; charset=utf-8", 
       dataType: "html", 
       success: function (result) { 
        // What should I do here to refresh PartialView? 
       } 
      }); 
     }); 

    }); 
</script> 

    <h2>Search</h2> 

    <%--The line below is a workaround for a VB/ASPX designer bug--%> 
    <%=""%> 
    <% Using Ajax.BeginForm("Search", New AjaxOptions With {.UpdateTargetId = "searchResults", .LoadingElementId = "loader"})%>   
     Township <%= Html.DropDownList("Townships")%> 
     Range <%= Html.DropDownList("Ranges")%> 
     Section <%= Html.DropDownList("Sections")%> 

     <% Html.RenderPartial("Corners")%> 

     <input type="submit" value="Search" />   
     <span id="loader">Searching...</span> 
    <% End Using%> 
    <div id="searchResults"></div> 

</asp:Content> 
+0

부분보기의 html은 무엇입니까? – amurra

답변

7

나는 당신의 PartialView를 보지 않고 하나의 옵션이 사업부의 PartialView을 래핑하는 것입니다 의미 :

<div id="corners"><% Html.RenderPartial("Corners")%></div> 

그런 다음 귀하의 아약스 전화 컨트롤러에서 작업을해야 그러면 PartialViewResult가 반환되고 해당 div에 결과가로드됩니다.

$.ajax({ 
      type: "GET", 
      url: "Search/Search?section=" + section + "&township=" + township + "&range=" + range, 
      dataType: "html", 
      success: function (result) { 
       $('#corners').html(result); 
      } 
     }); 
+1

그 제안에 대해 감사드립니다. 나는 약간의 조정을하고 작동하도록했습니다. –

0

$ 아약스 ({ 유형 : "GET", URL : "?/검색/검색 섹션 ="+ 섹션 + "& 마을 ="+ 마을 + "& 범위 ="+ 범위, dataType와 "HTML ", 성공 : 함수 (결과) { $ ('# corners') .html (결과); } });