Я новичок в MVC, и у меня есть проблема, которую я не могу решить. Я видел несколько статей по подобным вопросам, но ничто из того, что я мог бы подгонять за счет того, что мне нужно достичь.Обработка нескольких многофайловых входов в MVC
У меня есть проект MVC4, и мне нужно иметь несколько многофайловых входов на странице, и мне нужно иметь возможность различать, какие файлы были отправлены через какой вход.
Я видел this Статья SO, в которой предлагается наличие нескольких аргументов Post action, но мой код, кажется, обрабатывает их все как один список.
Вот мой код контроллера:
public ActionResult ProjectDocuments(C4Tbl_UploadedFiles c4tbl_uploadedfiles, IEnumerable<HttpPostedFileBase> File1, IEnumerable<HttpPostedFileBase> File2)
{
try
{
foreach (var file in File1)
{
if (file.ContentLength > 0)
{
//Handle the first file list
}
}
foreach (var file in File2)
{
if (file.ContentLength > 0)
{
//Handle the second file list
}
}
Вот мой Посмотреть код:
<table border="0" id="cssTable" class="nobg">
<tr>
<th style="width: 100px; min-width: 100px; max-width: 100px">
<b>Type</b>
</th>
<th style="width: 400px; min-width: 400px; max-width: 400px">
<b>File to Upload</b>
</th>
<th style="width: 500px; min-width: 500px; max-width: 500px">
<b>Status</b>
</th>
</tr>
<tr>
<td style="width: 100px; min-width: 100px; max-width: 100px">
<b>Blueprint(s)</b>
</td>
<td style="width: 400px; min-width: 400px; max-width: 400px">
<input type="file" name="File1" id="BP" multiple style="width: 380px"/>
</td>
<td style="width: 500px; min-width: 500px; max-width: 500px; text-align: left">
@Html.RadioButton("Submitted", "Yes", false, new { @style = "width: 25px;", groupname="group1" }) Uploaded
@Html.RadioButton("Submitted", "No", false, new { @style = "width: 25px;", groupname="group1" }) Not Uploaded
@Html.RadioButton("Submitted", "N/A", false, new { @style = "width: 25px;", groupname="group1" }) Not Applicable
</td>
</tr>
<tr>
<td style="width: 100px; min-width: 100px; max-width: 100px">
<b>Recovery Guide(s)</b>
</td>
<td style="width: 400px; min-width: 400px; max-width: 400px">
<input type="file" name="File2" id="RG" multiple style="width: 380px"/>
</td>
<td style="width: 500px; min-width: 500px; max-width: 500px; text-align: left">
@Html.RadioButton("Submitted", "Yes", false, new { @style = "width: 25px;", groupname="group2" }) Uploaded
@Html.RadioButton("Submitted", "No", false, new { @style = "width: 25px;", groupname="group2" }) Not Uploaded
@Html.RadioButton("Submitted", "N/A", false, new { @style = "width: 25px;", groupname="group2" }) Not Applicable
</td>
<td>
<input type="submit" value="Submit" name="submit" />
</td>
</tr>
</table>
мне нужно, чтобы быть в состоянии принять любой или все входы того, файлы при условии, и мне нужно чтобы узнать, какие из моих входных файлов были отправлены через файлы, поэтому я знаю, какой тип файла они есть, поэтому я могу создать соответствующие записи в таблицах.
Может ли кто-нибудь увидеть простое решение для этого и указать мне в правильном направлении?
Имена ваших элементами управления являются 'File1' и' File2', поэтому ваши параметры должны быть 'IEnumerable Fi le1, IEnumerable File' (боковое примечание - вы 2-й набор переключателей будет проигнорирован, потому что вы дали им то же имя, что и первый набор) –
Спасибо Стивен, я изменил биты кода для сообщения, которое не было Я хорошо читаю. Я отредактировал это, чтобы правильно читать сейчас. – Nevski
Подпись метода в вашем редактировании теперь правильная, и вы можете прокручивать файлы в файлах «Файл1» и «Файл2» - 'foreach (файл var в File1) {...' –