Я работаю над Lexical Analyzer и хочу показать все данные таблицы в MVC.Но чтобы упростить код, я добавлю пример, чтобы показать, чего я хочу достичь.У меня есть класс logic.cs , в который Lexical Analyzer будет получать поступающую строку, и я хочу Добавить элементов в список в соответствии с методом Lexical Analyzer.
Это мой код:
Контроллер
Repository repo = new Repository();
logic logica = new logic();
public ActionResult Index()
{
var getrepo = repo.GetData();
return View(getrepo.ToList());
}
[HttpPost]
public ActionResult Index(string str) {
logica.Logic_t(str); //I send str parameter to the logic class
var getrepo = repo.GetData();
return View(getrepo.ToList());
Модель
Repository.cs
public class Repository
{
public List<data_table> data = new List<data_table>() { };
public List<data_table> GetData() {
return data;
}
}
data_table.cs
public int Line { get; set; }
public string Token { get; set; }
logic.cs
Repository repo = new Repository();
public void Logic_t(string s)
{
int Line = 1;
repo.data.Add(new data_table { Line =Line , Token = " NUMBER" });
}
Представление
@model IEnumerable<pruebaarray.Models.data_table>
@using (Html.BeginForm("Index", "Home", FormMethod.Post))
{
<textarea rows="10" cols="50" class="textarea" name="str">
</textarea>
<input type="submit" value="send-to-logic" class="btn btn-primary"/>
}
<table class="table-bordered">
<tr>
<th>Line</th>
<th>Token</th>
</tr>
@foreach (var item in Model) {
<tr>
<th>@item.Line</th>
<th>@item.Token</th>
</tr>
}
</table>
И это мое окончательное представление:
Мой код имеет нет Ошибки, но когда я нажимаю кнопку submit , ничто не отображается в таблице.Что мне не хватает?или что может быть не так?
PD: Моя логика Lexical Analyzer имеет рекурсивные методы, поэтому она будет постоянно добавлять данные в список.
ОБНОВЛЕНИЕ : Я получил это простоустановив Список на static