У меня есть следующие модели:список Pass обратно в контроллер
public List<string> Results { get; set; }
public List<string> ClubcardNumbers { get; set; }
public bool FindCards {get; set;}
public bool FindDuplicates { get; set; }
public bool AllocatedVouchers { get; set; }
Я следующие действия в мой контроллер:
public ActionResult ImportExcel()
{
if (Request.Files["XlFileUpload"].ContentLength > 0)
{
string extension = System.IO.Path.GetExtension(Request.Files["XlFileUpload"].FileName);
string path1 = string.Format("{0}/{1}", Server.MapPath("~/Content/Upload"), Request.Files["XlFileUpload"].FileName);
if (System.IO.File.Exists(path1))
System.IO.File.Delete(path1);
Request.Files["XlFileUpload"].SaveAs(path1);
Session.Add("XlFileUpload", path1);
}
if (Request.Files["DataFileUpload"].ContentLength > 0)
{
string extension = System.IO.Path.GetExtension(Request.Files["DataFileUpload"].FileName);
string path1 = string.Format("{0}/{1}", Server.MapPath("~/Content/Upload"), Request.Files["DataFileUpload"].FileName);
if (System.IO.File.Exists(path1))
System.IO.File.Delete(path1);
Request.Files["DataFileUpload"].SaveAs(path1);
Session.Add("DataFileUpload", path1);
}
MvcUI2.Models.Main model = new Models.Main();
model.ClubcardNumbers = GetCardNumbers();
return View("Main", model);
}
[HttpPost]
public ActionResult RunValidation(Models.Main model)
{
//determine which validations checks to run
if (model.FindCards)
{
FileReader.UnitTests.pronc_vas ut = new FileReader.UnitTests.pronc_vas();
ut.FileToCheck = Session["XlFileUpload"].ToString();
foreach (string cn in model.ClubcardNumbers)
{
ut.ClubcardNumberUnderTest = cn.Split('\t')[0];
ut.ClubcardNumberFound();
//add results to a list to be read by DisplayResults Action
if (ut.Result)
model.Results.Add("PASSED - " + cn + " - " + "Find card number");
else
model.Results.Add("FAILED - " + cn + " - " + "Find card number");
}
}
return View("Main", model);
}
Вот мое мнение:
<div id="body">
<div id="ImportExcel">
<h2>Import</h2>
@using (Html.BeginForm("ImportExcel", "Main", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<table>
<tr>
<td>Excel file</td>
<td>
<input type="file" id="XlFileUpload" name="XlFileUpload" /></td>
</tr>
<tr>
<td>Data file</td>
<td>
<input type="file" id="DataFileUpload" name="DataFileUpload" /></td>
</tr>
<tr>
<td></td>
<td>
<input type="submit" id="Submit2" name="Submit" value="Submit" /></td>
</tr>
</table>
}
</div>
<div id="DisplayCards">
DisplayCards div
<ul>
@foreach (var item in Model.ClubcardNumbers)
{
<li>
@item
</li>
}
</ul>
</div>
<div id="RunValidation">
@using (Html.BeginForm("RunValidation", "Main"))
{
<table>
<tr>
<td>
@Html.CheckBoxFor(m => m.FindCards)
Find Cards
</td>
</tr>
<tr>
<td>
@Html.CheckBoxFor(m => m.FindDuplicates)
Find Duplicates
</td>
</tr>
<tr>
<td>
@Html.CheckBoxFor(m => m.AllocatedVouchers)
Check Voucher Allocation
</td>
</tr>
<tr>
<td></td>
<td>
<input type="submit" value="SubmitValidation" /></td>
</tr>
</table>
}
</div>
<div id="DisplayResults">
<ul>
@foreach (var result in Model.Results)
{
<li>
@result
</li>
}
</ul>
</div>
пользователь может выбрать файл Excel и файл данных с использованием типов ввода файлов html. Затем контроллер обрабатывает эти файлы и заполняет список номеров клубной карточки в списке в модели. Этот список затем отображается пользователю в div «DisplayCards». В пределах div «RunValidation» пользователь может выбрать флажки перед отправкой обратно на сервер. На данный момент мне нужен список ClubcardNumbers контроллера, который будет заполнен в модели, чтобы он мог обрабатываться действием RunValidation.
Может ли кто-нибудь предложить мне, как я могу это сделать?
Спасибо, попробовал, но никакой разницы я боюсь. Когда я ссылаюсь на модель.ClubcardNumbers в действии RunValidation, счет равен 0. –
Вы видите скрытые поля внутри вашей формы? Вы разместили их в правильной форме (тот, который вызывает действие «RunValidation»)? Они должны выглядеть так: ''. Также используйте FireBug для проверки точной загрузки запроса, отправляемой на сервер при отправке формы. Вы видите, какие значения отправляются? –
Я схватил следующее сообщение с помощью Fiddler: FindCards = true & FindCards = false & FindDuplicates = false & AllocatedVouchers = false. Кажется, что скрытый список не передается, хотя я добавил код в представление: @using (Html.BeginForm («RunValidation», «Main»)) { для (var i = 0; i m.ClubcardNumbers [i]); } –
Последний вопрос
-
1. Carrierwave изменение размера изображения перед сохранением
-
2. Должен ли я предоставить весь новый ресурс при использовании квалификатора ресурсов для папки в Android?
-
3. Как передать имя класса функции XML Parsing в C#?
-
4. XMLWorker (iText) не разбивает страницу в формате PDF
-
5. Выполнение Javascript-файла с использованием Node.js
-
6. Как исправить эту функцию javascript, чтобы исправить сообщение об ошибке
-
7. VBA - Для того, чтобы разделить и преуспевать файл на несколько файлов и разделить эти файлы на несколько листов
- Нет связанных вопросов^_^
Смежные вопросы