从列表属性生成隐藏?

时间:2013-12-02 23:21:38

标签: c# asp.net-mvc asp.net-mvc-3 linq asp.net-mvc-4

对不起,这可能是一件基本的事,但我是新手。

我的模型是一个包含两个属性的列表,我需要为1个或两个属性生成HiddenFor。内部循环我试图使用下面的代码生成HiddenFor:

@foreach (StoredDocument doc in @Model)
{
    @Html.HiddenFor(@doc.Document);
    <img src="@doc.Document" />
}

但不确定我错在哪里,我收到消息:

无法从用法中推断出方法'System.Web.Mvc.Html.InputExtensions.HiddenFor(System.Web.Mvc.HtmlHelper,System.Linq.Expressions.Expression&gt;)'的类型参数。尝试明确指定类型参数。

请帮忙,谢谢

1 个答案:

答案 0 :(得分:3)

尝试:

@foreach (StoredDocument doc in Model) {
    @Html.HiddenFor(modelItem => doc.Document);
    <img src="@doc.Document" />
}

请记住,这可能不会以您希望的方式回发到服务器。您应该进行设置,以便您的模型是StoredDocument数组,而不仅仅是IEnumerable<StoredDocument>

@model StoredDocument[]

@foreach (int i = 0; i < Model.length; i++) {
    @Html.HiddenFor(modelItem => Model[i].Document);
    <img src="@Model[i].Document" />
}
相关问题