6

मेरे पास एक खोज फ़ॉर्म है जो अजाक्स रूप है। फॉर्म के भीतर एक ड्रॉपडाउनलिस्ट है कि, जब बदला जाता है, तो अजाक्स फ़ॉर्म (जीईटी अनुरोध के माध्यम से) में पार्टियल व्यू रीफ्रेश करना चाहिए। हालांकि, मुझे यकीन नहीं है कि GET अनुरोध के माध्यम से मेरे परिणाम वापस लेने के बाद पार्टियल व्यू को रीफ्रेश करने के लिए क्या करना है।एएसपी.नेट एमवीसी - ड्रॉपडाउनलिस्ट बदलते समय आंशिक दृश्य रीफ्रेश करें

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 देखे बिना एक ही विकल्प एक div में PartialView रैप करने के लिए है:

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

फिर अपने ajax कॉल अपने नियंत्रक में एक कार्रवाई है जो एक PartialViewResult लौटाएगा और परिणाम को उस div में लोड करेगा:

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

उस सुझाव के लिए बहुत बहुत धन्यवाद। मैंने थोड़ा tweaking किया और इसे काम करने के लिए मिला। –

0

$ .ajax ({ प्रकार: "GET", यूआरएल: "/ खोज/खोजें अनुभाग =" + अनुभाग + "& बस्ती =" + बस्ती + "& सीमा =" + रेंज, डेटाप्रकार: "HTML ", सफलता: फ़ंक्शन (परिणाम) { $ ('# कोनों')। Html (परिणाम); } });

संबंधित मुद्दे