作为局部视图返回视图和Json结果(在性能和其他方面)之间的区别是什么?
在通过ajax ??
调用控制器方法时,我们可以返回整个视图(不是部分视图)答案 0 :(得分:0)
在绩效方面
当设计用于完全不同的目的时,你无法比较两件事。
JSONResult
用于从Controller操作返回json
。
PartialView
用于返回部分html内容。
当两者产生不同的输出时,如何比较性能?
在通过ajax ??
调用控制器方法时,我们可以返回整个视图(不是部分视图)
是的,你可以。你会得到整个HTML的结果。但如果您只需刷新网页的部分,就不应该这样做。而是在这种情况下使用局部视图,以便它不包括布局或任何包含该页面的母版页。
答案 1 :(得分:0)
<强> PartilaView 强>
杰森结果
我的模特喜欢
public class ModelName_1
{
public string Name { get; set; }
public int age { get; set; }
}
部分视图示例
<强> 1。主视图代码:
我在下面提到的名称 partialView_1 应该与您的部分名称相匹配。 下面提到的 ModelName_1 必须与您在局部视图中提到的型号名称匹配。
<div id="myPartial" >
@Html.Partial("partialView_1", new ModelName_1())
</div>
<强> 2。部分查看代码:
@model ModelName_1
@if (Model != null)
{
var count = 1;
<table class="table">
<thead>
<tr>
<td>No</td>
</tr>
</thead>
<tbody>
<tr>
<td>Year @item.Year end </td>
</tr>
</tbody>
</table>
}
<强>的Javascript 强>
$(document).ready(function () {
$('#MybuttonId_2').on('click', function () {
$.ajax({
url: '@Url.Action("Mymethod")',
type: 'GET',
success: function (result) {
$('#myPartial').html(result);
}
});
});
});
控制器操作方法应该如下
[HttpGet]
public ActionResult Mymethod()
{
ModelName_1 model= new ModelName_1();
List<TableDetails> monthlyDetails = getYearlyDetails(fulldetails);
return PartialView("_tableView", model);
}
=============================================== ============================
对于JASON RESULT,我们必须完成如下
控制器方法如下:
[HttpPost]
public JsonResult MyJasonMethod()
{
ModelName_1 model = new ModelName_1();
return this.Json(model, JsonRequestBehavior.AllowGet);
}
JavaScript如下所示:
$(document).ready(function () {
$('#MybuttonId').on('click', function () {
$.ajax({
url: '@Url.Action("MyJasonMethod")',
type: 'POST',
success: function (result) {
$('#mortagepayLable').text(result.Name);
// some thing you do with the jason result
}
)};
});
});