作爲局部視圖和JSON結果的返回視圖(在性能和其他方面)有什麼區別?作爲局部視圖和JSON結果的返回視圖有什麼區別
當通過ajax調用控制器方法時,我們可以返回整個View(而不是Partial View)嗎?
作爲局部視圖和JSON結果的返回視圖(在性能和其他方面)有什麼區別?作爲局部視圖和JSON結果的返回視圖有什麼區別
當通過ajax調用控制器方法時,我們可以返回整個View(而不是Partial View)嗎?
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);
}
============================================= ==============================
傑森結果,我們都喜歡做下面
控制方法象下面這樣:
[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
}
)};
});
});
在性能方面
時,他們已經設計了完全不同的目的,你不能比較兩個事物。
JSONResult
用於從Controller操作中返回json
。
PartialView
用於返回部分html內容。
如何比較不同輸出時的性能?
我們能回到通過Ajax調用控制器方法時全部查看(不部分圖)?
是的,你可以。你會得到整個html的結果。但是,如果您只需刷新網頁部分,則不應該這樣做。相反,在這種情況下使用部分視圖,以便它不包含佈局或任何主頁面。
有效負載在返回json結果時與部分視圖相比要小得多。 –
@MariaPithia但是,如果您希望刷新頁面的一部分,以及在您希望從服務器獲取新數據時如何使用部分視圖,您將如何使用JsonResult?是否有可能? –
在json結果的情況下,客戶端將需要大量的編碼,但是有可能在部分視圖的情況下,這是不可能的情況下,我認爲 –
我期待ans在性能方面 –
當然,我將更新代碼。 – Aravindan
我想要比較兩者之間的表現 –