2

我是 MVC3 和 Web 开发的新手。

我正在尝试使用以下代码在剃刀视图中列出输入标签:

    @{
        for (Int32 i = 1; i < 10; i++)
        {
            <div class="upload-box" id="upload-box-@i" style="display:block">
                <div class="preview-box">
                    <img alt="Field for image cutting" id="preview-@i" src="@Url.Content("~/Content/empty.png")" />
                </div>
                <div id="filename-box-@i"></div>
                <div>
                    <label for="File[i]">Filename:</label>
                    <input type="file" name="Files" id="File@i" />
                </div>
            </div>
        }
    }

我的问题与

<label for="File[i]">Filename:</label>

<input type="file" name="Files" id="File@i" />

我在这里尝试两个版本来生成 File1、File2 等的 id。它们都不起作用。

我不确定这是否可以做到?我尝试了各种替代方法并搜索了谷歌 - 这让我相信我的问题的答案是否定的。但我想我还是会检查一下。

4

1 回答 1

4

Razor 没有File@i正确解析。

您可以通过将其括在括号中来使其明确。

<input type="file" name="Files" id="File@(i)" />

此外,标签没有@标志。

将其更改为

<label for="File[@i]">Filename:</label>

这个括号不是必需的,但无论如何您都可以添加它。

于 2012-09-24T20:03:16.037 回答