Я пытаюсь создать простой счетчик для динамической таблицы c, которую я создаю. По сути, каждый раз, когда я добавляю строку в таблицу, я хочу, чтобы счетчик увеличивался на 1. Я пытаюсь избежать добавления какого-либо произвольного свойства в модель, если я могу избежать этого, но я действительно ломаю голову над тем, как получить это на работу.
Моя таблица начинается с 2 строк и привязана к списку моделей. Намерение здесь состоит в том, чтобы дать каждой новой строке после этого новый индекс, чтобы ее можно было отправить с формой и создать список как I go (одно действие отправки дальше вниз в представлении, функция addRow()
вызывается с помощью кнопки, которая не отправляет форму)
По сути, вот что я имею в виду
@model AddUsers
@{
ViewData["Title"] = "Add Users";
var Counter = 2;
}
@section Scripts{
<script>
function addCount() {
var count = @Counter;
console.log('count: ' + count + 'counter: ' + '@Counter');
count = count + 1;
@Counter = count;
console.log('count: ' + count + 'counter: ' + '@Counter');
}
</script>
<script>
function addRow() {
var counter = @Counter;
var table = document.getElementById("AddUsersTable");
var row = table.insertRow(-1);
var cell1 = row.insertCell(0);
cell1.innerHTML = '<input type="text" asp-for="Users[' + counter + '].FirstName"/><br /><span asp-validation-for="Users[' + counter + '].FirstName class="text-danger"></span>';
var cell2 = row.insertCell(1);
cell2.innerHTML = '<input type="text" />';
var cell3 = row.insertCell(2);
cell3.innerHTML = '<input type="text" />';
var cell4 = row.insertCell(3);
cell4.innerHTML = '<input type="text" />';
addCount();
}
</script>
}
Когда я отлаживаю это и просматриваю журнал и элементы в браузере, я вижу последующий.
![Inspect Element Results](https://i.stack.imgur.com/lZHoZ.png)
Я явно упускаю что-то решающее, поскольку ничего из этого не работает, как ожидалось.
То, что должно было быть простым счетчиком, - это Оказалось, больше головной боли, чем я ожидал. Я попробовал некоторые ответы и комментарии от здесь , а также свои собственные попытки безрезультатно.