gpt4 book ai didi

asp.net-mvc-3 - MVC3 局部 View ,以 ViewModel 属性作为模型

转载 作者:行者123 更新时间:2023-12-04 05:56:41 25 4
gpt4 key购买 nike

我正在尝试将 ViewModel 属性传递给局部 View ,但出现以下错误:
“传递到字典中的模型项的类型为 '<>f__AnonymousType2`1[DomaniOnline.Models.DomaniData.TempRates]',但该字典需要一个类型为 'DomaniOnline.Models.DomaniData.TempRates' 的模型项。”

如何传递 VM 属性使其不是匿名类型?

风景:

@model DomaniOnline.Models.ViewModels.CompareRatesViewModel

@{
ViewBag.Title = "Rate Comparison";
}

<h2>Compare Rates</h2>

<table>
<tr>
<td>@Html.DisplayTextFor(m=>m.TempRate1.CarrierName)</td>
<td>@Html.DisplayTextFor(m=>m.TempRate2.CarrierName)</td>
<td>@Html.DisplayTextFor(m=>m.TempRate3.CarrierName)</td>
<td>@Html.DisplayTextFor(m=>m.TempRate4.CarrierName)</td>
</tr>
<tr>
<td>@Html.Partial("_TempRatesPartial", new { tempRate = Model.TempRate1 })</td>
<td>@Html.Partial("_TempRatesPartial", new { tempRate = Model.TempRate2 })</td>
<td>@Html.Partial("_TempRatesPartial", new { tempRate = Model.TempRate3 })</td>
<td>@Html.Partial("_TempRatesPartial", new { tempRate = Model.TempRate4 })</td>
</tr>
</table>

部分观点:
@model DomaniOnline.Models.DomaniData.TempRates

<fieldset>
<legend>TempRates</legend>

<div class="display-label">Carrier Name</div>
<div class="display-field">
@Html.DisplayFor(model => model.CarrierName)
</div>
....
</fieldset>

和 View 模型:
 public class CompareRatesViewModel
{
public TempRates TempRate1 { get; set; }
public TempRates TempRate2 { get; set; }
public TempRates TempRate3 { get; set; }
public TempRates TempRate4 { get; set; }
public TempRates TempRate5 { get; set; }

public CompareRatesViewModel(IEnumerable<TempRates> TempRateList)
{
this.TempRate1 = TempRateList[0];
this.TempRate2 = TempRateList[1];
this.TempRate3 = TempRateList[2];
this.TempRate4 = TempRateList[3];
this.TempRate5 = TempRateList[4];
}

}

最佳答案

您需要将匿名类型转换为作为局部 View 模型的类型:

@Html.Partial("_TempRatesPartial", (DomaniOnline.Models.DomaniData.TempRates)Model.TempRate1)

关于asp.net-mvc-3 - MVC3 局部 View ,以 ViewModel 属性作为模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9436862/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com