Я довольно новичок в создании приложений MVC, но у меня есть базовые знания.Я создаю страницу, на которой я могу добавлять и удалять текстовые файлы, но представление также содержит таблицу со списком всех элементов в текстовом файле.
Насколько я понимаю, я знаю, как читатьфайл, и вывести его в список, который я затем могу указать в модели и цикла в моем представлении, и я знаю, как проверить редактор.Я, однако, не могу понять, как сделать оба одновременно.
Пример:
«Данные» должны содержатьданные из текстового файла.Любое объяснение или примеры того, как этого добиться, будет с благодарностью.Я не уверен, нужно ли мне указывать список в моей модели, а затем добавлять в список с помощью моего действия редактирования, или создавать действие индекса и делать это там, или как.
Модель:
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
namespace WebApplication2.Models
{
public class UploadFiles
{
public List<string> Paygroups;
[Required(ErrorMessage = "Please enter a paygroup.")]
public string PayGroup { get; set; }
}
}
Вид:
@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">
<thead>
<tr>
<th>Paygroups</th>
</tr>
</thead>
<tbody>
<tr>
@foreach (var paygroup in Model.Paygroups)
{
<td>@Model.Paygroups</td>
}
</tbody>
</table>
Контроллер:
using System.Collections.Generic;
using System.IO;
using System.Web.Mvc;
using WebApplication2.Models;
namespace WebApplication2.Controllers
{
public class UpdateFilesController : Controller
{
// GET: Default
public ActionResult Edit()
{
return View();
}
[HttpPost]
public ActionResult Edit(string Paygroup)
{
if (ModelState.IsValid)
{
var PG = new List<UploadFiles>
{
new UploadFiles
{
PayGroup = System.IO.File.ReadAllText(Path.Combine(Server.MapPath("~/textfiles"), "paygroup.text"))
}
};
}
return View(model);
}
}
}