[英]Using an object returned from Html.RenderAction
我在View中使用Html.RenderAction來調用控制器中的方法。 controller方法返回一個自定義對象,我想知道如何在視圖中使用此返回的對象。
視圖
//at the top
@model ServiceCheckerUI.Models.DeleteDeliverableModel
@{ Html.RenderAction("retrieveDeliverableInfo","DeliverableManagement", new {uniqueId = element});}
//Trying to use the model property
Model.deliverableResponse.{properties}
控制者
public ActionResult retrieveDeliverableInfo(string uniqueId){
var response = _target.DoSomething();
return PartialView("DeleteDeliverable", new DeleteDeliverableModel {deliverableResponse = response});
}
模型
namespace ServiceCheckerUI.Models
{
public DeleteDeliverableModel
{
//omit
public GetDeliverableResponse deliverableResponse {get;set}
}
}
GetDeliverableResponse對象具有ID,name等字段,它們是字符串和整數。
RenderAction用於直接將響應寫入頁面,並有助於緩存部分視圖。 您的方法應返回部分視圖,而不是GetDeliverableResponse
。 您可以定義部分視圖,並使用GetDeliverableResponse
作為其模型。
public ActionResult RetrieveDeliverableInfo(string uniqueId)
{
var response = _target.DoSomething();
return PartialView("_Deliverable", response );
}
_Derliverable
在這里是您的局部視圖,它將具有GetDeliverableResponse
作為模型。 為了保持整潔,您還可以將響應對象包裝在_Derliverable
的專用模型類中,如下所示:
class DerliverableModel
{
public GetDeliverableResponse Derliverables { get; set; }
}
現在,在您的操作方法中,您需要傳遞此模型的對象:
return PartialView("_Deliverable", new DerliverableModel { Derliveries = response });
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.