调用@Html.RenderPartial("_ChildPartialView")
时,我收到以下错误:
System.Collections.Generic.ICollection' 没有名为 'ElementAt' 的适用方法,但似乎具有该名称的扩展方法。扩展方法不能动态调度。考虑强制转换动态参数或在没有扩展方法语法的情况下调用扩展方法
_Testpaper.cshtml父视图:
for (i = 0; i < Model.Questions.Count;i++)
{
ViewBag.QuestionNumber = i;
Html.RenderPartial("_QuestionDetail"); //Line causing error
}
_QuestionDetail.cshtml子视图:
@model StandardVBA.ViewModels.AssessmentModel
<tr style="padding:4px 0px; background-color:lightskyblue; font-weight:bold;font-family:Cambria;">
<td style="text-align:left;">
Q @(ViewBag.QuestionNumber + 1)   @Model.Questions.ElementAt(ViewBag.QuestionNumber).Question
</td>
<td style="text-align:center">
( @Model.Questions.ElementAt(ViewBag.QuestionNumber).Marks )
</td>
</tr>
<tr>
<td class="questions">
<ol type="A">
@for (int j = 0; j < Model.Questions.ElementAt(ViewBag.QuestionNumber).QuestionDetails.Count; j++)
{
<li>
<div style="display: inline-block; vertical-align: top;">
@Html.CheckBoxFor(m => m.Questions.ElementAt(ViewBag.QuestionNumber).QuestionDetails.ElementAt(j).IsSelected)
</div>
@Html.DisplayFor(m => m.Questions.ElementAt(ViewBag.QuestionNumber).QuestionDetails.ElementAt(j).Choice)
@Html.HiddenFor(m => m.Questions.ElementAt(ViewBag.QuestionNumber).QuestionDetails.ElementAt(j).IsCorrect)
</li>
}
</ol>
</td>
</tr>
我也想知道:@Model
当子视图在RenderPartial
调用中共享相同的模型时,为什么必须在子视图中指定?