【发布时间】:2020-01-13 22:20:27
【问题描述】:
我需要从 Razor 视图向 js 方法发送 3 个参数:一个复选框、一个 int 和一个字符串:
HTML/Razor 代码:
<td><input type="checkbox" class="multi_checkbox" onclick="selected(this,@item.Id,@item.Status)"></td>
我的js方法
function selected(checkbox, id, status) {
if (checkbox.checked) {
console.log("added: " + id);
checkedRows.push(id);
} else {
console.log("deleted: " + id);
for (var i = 0; i < checkedRows.length; i++) {
if (checkedRows[i] === id) {
checkedRows.splice(i, id);
}
}
}
console.log(checkedRows);
}
当我以这种方式工作时,它会抛出一个错误:
(index):1 Uncaught ReferenceError: Rejected is not defined at HTMLInputElement.onclick ((index):1)
Rejected 是@item.Status 的值,它是具有该值的字符串。
【问题讨论】:
-
不太清楚你想要实现什么......我建议弄清楚你想要生成什么 JavaScript,然后确保 CSHTML 产生准确的 HTML+JavaScript......在这一点上只能猜测当你得到
Rejected时,你希望"Rejected"作为参数......但这不清楚 - 请edit 发帖澄清。 -
当我发送 3 个参数时它会抛出错误,但如果我使用 2 个参数(复选框和 Id)效果很好,我用它来评估所选项目中的状态是否相同(复选框在 td 内)。
-
状态是字符串还是枚举?
-
如果你把它改成单引号,它有没有做任何改变 - onclick='selected(this,@item.Id,@item.Status)'
-
状态是一个字符串
标签: javascript c# asp.net-mvc razor