使用$ .ajax时无法在视图中呈现局部视图

时间:2016-05-06 23:19:11

标签: javascript jquery ajax

我不确定我的代码中缺少什么。我有一个带有几个单选按钮的视图,并且想要在选择单选按钮时呈现不同的局部视图。这是我的代码:

控制器

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);
        }

查看div以渲染部分视图

    <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
        }
    });
}

似乎不起作用的部分是$(&#34;#renderarea&#34;)。html(pv);我真的不知道为什么。以前有人遇到过这个问题吗?

1 个答案:

答案 0 :(得分:0)

试试这个,应该可以工作:

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