В настоящее время у меня есть таблица, сгенерированная моим действием get. Он извлекает данные из текстового файла и разбивает их по конвейеру, поэтому выполняет следующие действия ...
This|03-26-2019 01:14:53 PM
is a test|03-26-2019 01:15:08 PM
of the|03-26-2019 01:15:16 PM
EMERGENCY BROADCAST SYSTEM|03-26-2019 01:15:29 PM
!!!
становится
Ниже мой стол
<table class="table table-striped">
<tr>
<th>Paygroups</th>
<th>Date added</th>
<th>Modify</th>
</tr>
@foreach (var record in Model.Files)
{
<tr>
<td>@record.Paygroups </td>
<td>@record.DateAdded </td>
<td>@Html.ActionLink("Edit", "Edit", "UpdateFiles") | @Html.ActionLink("Delete", "Delete", "UpdateFiles") </td>
</tr>
}
</table>
и ниже мой метод удаления
[HttpPost]
public ActionResult Delete(string Paygroup)
{
if (ModelState.IsValid)
{
var fullpath = Path.Combine(Server.MapPath("~/sourcefiles"), "paygroup.txt");
System.IO.File.WriteAllLines(fullpath, System.IO.File.ReadLines(fullpath).Where(l => l != Paygroup).ToList());
}
return RedirectToAction("Edit", "UpdateFiles");
}
Очевидно, что код там не будет работать как есть, так как он ищет платную группу, введенную в поле редактора, для отправки в качестве "Paygroup". Проблема в том, что мой текстовый файл настроен как paygroup | datetime, он не сможет найти строку, если введена только paygroup.
Я думал о том, чтобы прочитать весь файл в массив, сохранить каждую строку, выполнить поиск в массиве «paygroup», затем удалить строку, в которой он находился, и записать новый массив в текстовый файл. Я подумал, что это можно было бы лучше оптимизировать, если бы я действительно мог поместить кнопку удаления в строку рядом с платежной группой и добавленной датой, чтобы он мог получить данные строк, объединить их с конвейером и удалить из текстового файла. ? Хотя я не совсем уверен, с чего начать.