2

我得到:表达式树可能不包含动态操作

当我做:

@Html.TextBoxFor(m => m.Translations[ViewBag.Languages[i].CultureCode].Title)
<br/>
@Html.TextBoxFor(m => m.Translations[ViewBag.Languages[i].CultureCode].PreviewDescription)
<br/>
@Html.TextBoxFor(m => m.Translations[ViewBag.Languages[i].CultureCode].FullDescription)

我之前正在做更简单的TextBoxFor,例如:

@Html.TextBoxFor(m => m.ContactName)
@Html.TextBoxFor(m => m.EmailAddress)

在视图的顶部,我的 using 语句类似于:@model x.y.z.Listing

4

2 回答 2

4

正如消息所说,您在 lambda 表达式中使用了 viewbag,这是一个动态操作:

@Html.TextBoxFor(m => m.Translations[ViewBag.Languages[i].CultureCode].Title)

要解决您的问题,只需将动态移出,就像这样

@{
    string cultureCode = ViewBag.Languages[i].CultureCode
}

 @Html.TextBoxFor(m => m.Translations[cultureCode].Title) 
于 2012-12-12T13:10:37.533 回答
0

我认为,您必须检查您是否使用的是严格类型的视图。

于 2012-12-12T12:43:45.770 回答