[英]MVC 3 Display data from different Models in the one View
在MVC 3視圖中,我想顯示單個合同和聲明列表,用戶將能夠創建新的聲明。 我為Contract和Claims創建了一個不同的視圖,我如何合並它們,以便只有一個視圖。
達林,
當視圖查找兩個字符串時,如何傳遞MyViewModel的實例?
public ActionResult Details(int id)
{
MyViewModel myView = new MyViewModel ();
return View(_repository.GetContract(id), myView);
}
謝謝
我使用的是PartialViews Html,但我沒有看到如何將模型作為參數傳遞。
合同視圖@model Portal.Models.Contracts @using Portal.Models
顯示數據。
<div>
@{
Html.RenderPartial("_Claim", Portal.Models.Contracts);
}
</div>
我收到錯誤CS0119:'Models.Contracts'是'type',在給定的上下文中無效。
數據綁定到此處的合同視圖
public ActionResult Details(int id)
{
return View(_repository.GetContract(id);
}
如何將數據綁定到類型為IEnumerable<Models.Claims>
的PartialView _Claim
?
您可以定義一個視圖模型來包裝這兩個模型:
public class MyViewModel
{
public Contract Contract { get; set; }
public Claim[] Claims { get; set; }
}
然后讓您的控制器操作將MyViewModel的實例傳遞給視圖,並在此視圖中使用顯示模板:
@model MyViewModel
@Html.DisplayFor(x => x.Contract)
@Html.DisplayFor(x => x.Claims)
然后定義Contract
和Claim
模型的顯示模板( ~/Views/Shared/DisplayTemplates/Contract.cshtml
和~/Views/Shared/DisplayTemplates/Claim.cshtml
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.