将视图作为部分视图返回和 Json 结果有什么区别

What is the difference between Returning View as a Partial View and Json Result

作为局部视图返回视图和Json结果有什么区别(在性能和其他方面)???

我们可以return在通过ajax调用controller方法时使用整个View(不是Partial View)吗?

in terms of performance

你不能比较两件设计用于完全不同目的的东西。

JSONResult 用于从 Controller 操作返回 json

PartialView用于返回部分html内容。

当两者产生不同的输出时如何比较性能?

Can we return whole View(not Partial View) in when calling controller method through ajax??

是的,你可以。您将获得完整的结果 html。但是,如果您只需要刷新网页的一部分,则不应这样做。在这种情况下应使用部分视图,这样它就不会包括布局或任何母版页。

PartilaView

  1. 分部视图是一种普通视图,我们可以在多个视图中使用它。
  2. Partialview 有一些设计要显示在您的视图中。

贾森成绩

  1. Jason 结果是我们可以在视图中使用的数据列表或单个数据。
  2. Jason 结果只有 returns 一个数据,而不是 returns 像局部视图这样的视图。

我的模特喜欢

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

Controller Action 方法应该如下所示

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