C# 生成隐藏列表属性?

C# 生成隐藏列表属性?,c#,asp.net-mvc,asp.net-mvc-3,linq,asp.net-mvc-4,C#,Asp.net Mvc,Asp.net Mvc 3,Linq,Asp.net Mvc 4,对不起,伙计们,这可能是一件基本的事情,但我是新手 我的模型是一个有两个属性的列表,我需要为1个或两个属性生成HiddenFor。我正在尝试生成用于使用以下代码的内部循环: @foreach (StoredDocument doc in @Model) { @Html.HiddenFor(@doc.Document); <img src="@doc.Document" /> } @foreach(在@Model中存储文档文档) { @Html.HiddenFor(@

对不起,伙计们,这可能是一件基本的事情,但我是新手

我的模型是一个有两个属性的列表,我需要为1个或两个属性生成HiddenFor。我正在尝试生成用于使用以下代码的内部循环:

@foreach (StoredDocument doc in @Model)
{
    @Html.HiddenFor(@doc.Document);
    <img src="@doc.Document" />
}
@foreach(在@Model中存储文档文档)
{
@Html.HiddenFor(@doc.Document);
}
但我不确定我错在哪里,我得到的信息是:

无法从用法推断方法“System.Web.Mvc.Html.InputExtensions.HiddenFor(System.Web.Mvc.HtmlHelper,System.Linq.Expressions.Expression>)”的类型参数。尝试显式指定类型参数

请帮忙,谢谢

试试:

@foreach (StoredDocument doc in Model) {
    @Html.HiddenFor(modelItem => doc.Document);
    <img src="@doc.Document" />
}
@foreach(模型中的StoredDocument文档){
@HiddenFor(modeleItem=>doc.Document);
}
请记住,这可能不会按您希望的方式发回服务器。您应该将其设置为一个StoredDocument数组,而不仅仅是一个
IEnumerable

@model StoredDocument[]
@foreach(int i=0;iModel[i].Document);
}

非常感谢DigitalID,非常感谢。我只是想澄清一下,你们的意思是使用一个列表,我将无法在服务器上获取列表的值,而要在服务器上获取列表的值,我应该使用数组?我的意思是使用数组,而不是列表。这真的取决于你为什么想在第一个地方有隐藏字段。DigitalID这对我来说真的是一个不常见的情况,从上一页开始,我通过拖放向页面添加了一些图像。我无法在第一页保存图像,因为“保存”按钮位于第2页,我将图像作为隐藏状态传递给服务器,然后我需要在第二页显示相同的图像,单击“保存”将从中保存数据和图像。请你提出进一步的建议好吗?非常感谢您宝贵的时间和指导。
@model StoredDocument[]

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