在div MVC中加载局部视图

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

我尝试过这样的事情:

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

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

任何的想法?

尝试使用

 @Url.Action 

代替

 @Html.Action 

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

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

在div MVC 4中加载局部视图

最近我想在Div中加载Partal View,经过大量研发后,它对我来说很有用

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

});

 And In Partal View Action Controller Code public PartialViewResult ShowCategoryForm(string title) { Model model = new Model(); model.Title = title; return PartialView("~/Views/ControllerName/PartalView.cshtml", model); } 
  Load partial view or Any URL 

load需要一个字符串,如果你看一下你生成的源代码,就会生成一个变量路径:

 $('#buttonId').click(function(){ $('#divid').load(yoururl/); }); 

但你想要的是:

 $('#buttonId').click(function(){ $('#divid').load("yoururl/"); }); 

代码应如下所示:

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

但正如我所看到的那样,负载应该正常工作,直到你点击#buttonId