Это <input asp-for="@cell" />
ваша проблема.
Если вы запустите свою программу и используете инструменты разработчика для проверки html, сгенерированного для полей ввода, вы заметите сгенерированные html атрибуты.
особое внимание, на которое следует обратить внимание, это атрибут name
.
Способ привязки модели работает в .net core
при отправке данных на контроллер.
public IActionResult DoSomething(Model model) { ... }
у вас будет совпадение атрибута имени со свойством объекта. Пример:
<input name="model.Level" value="8999" />
тогда вы получите var level = model.Level
и level
будет 8999
.
Таким образом, вы должны позаботиться о том, чтобы использовать asp-for
, это не делает так много тяжелой работы, как вы думаете. Всегда проверяйте сгенерированный html.
PS
Не используйте DataTables
, другие разработчики будут бросать камни в вас. Не ленитесь привязываться к реальному объекту или использовать ORM, программы быстро становятся неуправляемыми, если вы используете их для динамического хранения данных.