В настоящее время у меня есть текстовый файл, содержащий платежную группу и дату создания, разделенные конвейером, как показано в примере ниже
PG1 | 3/21/2019
PG2 | 3/21/2019
PG3 | 3/21/2019
Я пытаюсь разбить строку, чтобы можно было вывести что-то подобное, но с разбивкой по дате и помещенной в поле «Добавленная дата».
Однако, когда я извлекаю данные, они попадают под один столбец.Как можно зациклить дату в списке, чтобы она отображалась рядом с нужной платежной группой?В настоящее время он разбит на части, поскольку он читается в массив, а затем помещается в список.Я не уверен, есть ли лучший, более оптимальный способ?
View
@model WebApplication2.Models.UploadFiles
@{
ViewBag.Title = "Paygroup Edit";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>Update Paygroup</h2>
@using (Html.BeginForm("Edit", "UpdateFiles", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
@Html.AntiForgeryToken()
<div class="form-group">
@Html.LabelFor(m => m.PayGroup, new { @class = "control-label" })
@Html.EditorFor(m => m.PayGroup, new { htmlAttributes = new { @class = "form-control", placeholder = Html.DisplayNameFor(m => m.PayGroup) } })
@Html.ValidationMessageFor(m => m.PayGroup, "", new { @class = "text-danger" })
<input type="submit" value="Add" class="btn btn-default" />
<input type="submit" value="Delete" class="btn btn-default" />
</div>
}
<table class="table table-striped">
<tr>
<th>Paygroups</th>
<th>Date added</th>
</tr>
@foreach (var pg in Model.Paygroups)
{
<tr>
<td>@pg</td>
</tr>
}
@foreach (var date in Model.DateAdded)
{
<tr>
<td>@date</td>
</tr>
}
</table>
Контроллер
public class UpdateFilesController : Controller
{
// GET: Default
public ActionResult Edit()
{
var fullpath = Path.Combine(Server.MapPath("~/sourcefiles"), "paygroup.txt");
List<string> paygroupsList = new List<string>();
List<string> DateList = new List<string>();
string line;
using (var sr = new StreamReader(fullpath))
{
while ((line = sr.ReadLine()) != null)
{
string[] strArray = line.Split('|');
paygroupsList.Add(strArray[0]);
DateList.Add(strArray[1]);
}
UploadFiles model = new UploadFiles()
{
Paygroups = paygroupsList,
DateAdded = DateList
};
return View(model);
}
}
Модель
public class UploadFiles
{
public List<string> Paygroups { get; set; }
public List<string> DateAdded { get; set; }
[Required(ErrorMessage = "Please enter a paygroup.")]
[Remote("DoesPaygroupExist", "UpdateFiles", HttpMethod = "POST", ErrorMessage = "Paygroup already exists!")]
public string PayGroup { get; set; }
}