【发布时间】:2018-06-29 06:59:13
【问题描述】:
好的,所以我得到了这个接受模型 IEnumerable 的视图,并且 Model 内部的 foreach SomeModel 呈现了一个新的局部视图,其中它传递了单个 SomeModel。在这个局部视图中,我得到了一个表单,它使我能够编辑或添加新的 SomeModel。问题是这些表格有一个文件输入。只有第一个表单输入文件有效,我意识到为什么所有表单共享相同的输入文件 ID 和标签。所以我尝试动态添加它们:
@{
string idname = "file" + Model.Id;
}
<label for="@idname"><i class="far fa-image main-cat-icon"></i></label>
<input type="file" name="@idname"/>
但现在标签无法按预期工作。出于美学原因,我隐藏了输入本身并将标签作为图标以适合我的应用程序。我看到display: none; 会导致问题,所以我使用了:
.main-acp-button-cat input[type="file"] {
opacity: 0;
width: 0px;
height: 0px;
float: left;
}
我的控制器期望 public ActionResult ActionTest(SomeModel 模型,HttpPostedFileBase 文件)
还有其他方法吗?还是我在正确的轨道上只是错过了什么?
谢谢;)
【问题讨论】:
标签: c# asp.net asp.net-mvc forms