在div MVC中加载局部视图

Bre*_*ead 18 javascript asp.net-mvc jquery

我点击它的MVC视图上有一个按钮,它应该在'div'中添加一个局部视图,通过调用一个以对象作为参数的动作

我试过这样的事情:

$('#buttonId').onclick(function(){

$('#divid').load(@Html.Action("ActionName","ControllerName",new{parameterName = objectToPass}))

});
Run Code Online (Sandbox Code Playgroud)

但它加载了页面加载本身的actionresult/partial视图而不是单击按钮

任何的想法?

Sav*_*ave 23

尝试使用

@Url.Action
Run Code Online (Sandbox Code Playgroud)

代替

@Html.Action
Run Code Online (Sandbox Code Playgroud)

或者您可以使用ajax,例如:

$('#buttonId').click( function() {
    $.ajax({
        type: 'POST',
        url: '@Url.Content("~/ControllerName/ActionName")',
        data: objectToPass,
        success: function (data) {
           $('#divid').innerHTML = data;
        }
    });
}
Run Code Online (Sandbox Code Playgroud)


小智 8

在div MVC 4中加载局部视图

最近我想在Div中加载Partal View,经过大量的研发和它的工作

$.ajax({
    type: 'POST',
    url: '@Url.Content("~/ControllerName/ActionName")',
    data: {
        title: title
    },
    success: function(result) {
        $('#divid').innerHTML = result;
    }
});
Run Code Online (Sandbox Code Playgroud)

});

public PartialViewResult ShowCategoryForm(string title)
{
    Model model = new Model();
    model.Title = title;
    return PartialView("~/Views/ControllerName/PartalView.cshtml", model);
}
Run Code Online (Sandbox Code Playgroud)


SHA*_*NGH 7

<script type="text/javascript">
    $(document).ready(function () {
        $('#buttonId').click(function () {
            $('#divid').load('@Url.Action("About", "Home")');
        });
    });
</script>

<a id="buttonId">Load partial view or Any URL</a>

<div id="divid" style="height:100px; width:400px";>

</div>
Run Code Online (Sandbox Code Playgroud)


voi*_*tan 3

load 需要一个字符串,如果您查看源代码,您将生成一个变量路径,它会生成类似以下内容的内容:

$('#buttonId').click(function(){
    $('#divid').load(yoururl/);
});
Run Code Online (Sandbox Code Playgroud)

但你想要的是:

$('#buttonId').click(function(){
    $('#divid').load("yoururl/");
});
Run Code Online (Sandbox Code Playgroud)

代码应该如下所示:

$('#buttonId').click(function(){
    $('#divid').load('@Html.Action("ActionName","ControllerName",new{parameterName = objectToPass})');
});
Run Code Online (Sandbox Code Playgroud)

但正如我所见,负载应该一直工作,直到您单击#buttonId