MVC - 在视图中显示文件列表

时间:2013-03-01 22:49:08

标签: model-view-controller asp.net-mvc-4

我有以下MVC代码:

@model ExchangeSite.Entities.BicycleSellerListing


    <fieldset>
    <legend>Images</legend>

        <div>
            <div class="imagelabel">
                Image #1
            </div>

            <div>
                <input type="file" name="[0].files" id="files_0" style="width:275px"/>
            </div>

            <div class="imagelabel">
                Image #2
            </div>

            <div>
                <input type="file" name="[1].files" id="files_1" style="width:275px"/>
            </div>

            <div class="imagelabel">
                Image #3
            </div>

            <div>
                <input type="file" name="[2].files" id="files_2" style="width:275px"/>
            </div>
        </div>
    </fieldset>

这是我的模型/实体,或者至少是其中的一部分:

public class BicycleSellerListing
{
    [HiddenInput(DisplayValue=false)]
    public int BicycleSellerListingId { get; set; }

    public virtual ICollection<BicycleImage> ImageList { get; set; }
}

当调用关联的控制器时,我从数据库中检索用户已经上传到系统的文件(最多三个)。我不知道该怎么做是在上面显示的MVC视图中显示这些文件的名称。

1 个答案:

答案 0 :(得分:0)

您可以将文件列表放在模型中(下面的示例中为MyList),然后在您的视图中,您可以使用razor foreach来迭代列表并重复html。这样的事情(注意你也可以从项目中提取Id):

<fieldset>
<legend>Images</legend>

    <div>
    @foreach (var item in Model.MyList) {    
        <div class="imagelabel">
                Image #1
            </div>

            <div>
                <div>@item.FileName</div>
            </div>
          }     
    </div>
</fieldset>

更新:用div替换了输入元素。