【发布时间】:2020-03-19 22:42:26
【问题描述】:
我正在尝试为我正在创建的动态表创建一个简单的计数器。本质上,每次我向表中添加一行时,我都希望计数器增加 1。如果我可以避免的话,我会尽量避免向模型添加一些任意属性,但我真的很想知道如何得到这个上班。
我的表格从 2 行开始,并且是模型绑定到列表的。这里的目的是允许之后的每个新行都被赋予一个新的索引,以便它可以与表单一起提交并在我去的时候创建列表(一个提交操作在视图的更下方,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>
}
当我调试它并在浏览器中查看日志和元素时,我看到以下内容。
我显然遗漏了一些重要的东西,因为这些都没有按预期工作。
本应是一个简单的计数器,结果却比我预期的更令人头疼。我尝试了here的一些答案和cmets以及我自己的修补无济于事。
【问题讨论】:
标签: javascript asp.net-core razor