2016-05-06 6 views
0

Nicht sicher, was ich in meinem Code fehlen. Ich habe eine Ansicht mit einigen Optionsfeldern und möchte eine andere Teilansicht rendern, wenn ein Optionsfeld ausgewählt ist. Hier ist mein Code:

-Controller

public ActionResult Method(string value) 
     { 
      var pv = ""; 
      switch (value) 
      { 
       case "radio1": 
        pv = "_XPartial"; 
        break; 

       case "radio2": 
        pv = "_YPartial"; 
        break; 

       case "radio3": 
        pv = "_ZPartial"; 
        break; 
      } 
      return PartialView(pv); 
     } 

Ansicht div partialview zu machen

<div id"="renderarea"> 
     @*Render partialview here.*@ 

    </div> 

JavaScript

$(document).ready(function() { GetPartial(); }); 

$("input[name='RadioOptions']").on('change', function() { GetPartial(); }) 

function GetPartial() { 
    var selection = $("input[name='RadioOptions']:checked").val(); 
    //alert(selection) -- THIS ALERT SHOWS THE CORRECT VALUE 
    $.ajax({ 
     url: '@Url.Action("Method", "Home")', 
     data: {'value' : selection}, 
     contentType: 'application/html', 
     type: 'GET', 
     dataType: 'html', 
     success: function (pv) { 
      //alert(pv) -- THIS ALERT SHOWS THE HOLE PARTIAL VIEW HTML CODE 
      $("#renderarea").html(pv); -- THIS HERE ISN'T WORKING 
     } 
    }); 
} 

Der Teil, der nicht zu funktionieren scheint, $ ("# Renderbereich "). html (pv); und ich weiß wirklich nicht warum. Hatte jemand dieses Problem schon einmal?

+0

id "=" renderarea "> sollte id = sein" renderarea "> – 4334738290

+0

Dank dontmindmeyo, war ich so konzentriert sich auf die JavaScript-Funktion, die nicht bemerkt haben es. –

Antwort

0

Versuchen Sie dies, sollte es Arbeit sein:

$.ajax({ 
    url: "/Home/Method", 
    data: selection,  
    type: 'GET', 
    dataType: 'html', 
    success: function (pv) { 
     $("#renderarea").html(pv); 
    } 
    }); 
Verwandte Themen