簡體   English   中英

使用從Html.RenderAction返回的對象

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM