#javascript #c#
#javascript #c#
Вопрос:
у меня есть код, который хранит данные в списке ViewBag, который будет отображаться в раскрывающемся списке выбора, проблема в том, что моя переменная x не распознается внутри цикла for, но когда я изменил ее на индекс 0, она работает. но когда я снова перешел на ‘x’, он отображает ошибку, и я не могу понять, почему.
ошибка: имя ‘x’ не существует в текущем контексте
<script>
var optionSy = '';
{
optionSy = '<select id="SyCode" class="term form-control" required> ';
optionSy = '<option value="" selected hidden>Select School Year</option>';
for (var x = 0; x < "@ViewBag.SysCode.Count"; x ) {
optionSy = '<option value="' "@ViewBag.SysCode[x].SyCode" '"> @ViewBag.SysCode[x].SyDesc </option>';
console.log(optionSy)
}
optionSy = '</select>';
}
</script>
Комментарии:
1. Javascript выполняется в браузере. C # выполняется на сервере. Кажется, вы пытаетесь написать цикл Javascript, но ваши данные находятся на стороне сервера.
2. Чтобы уточнить мой предыдущий комментарий:
x
является частью вашего клиентского кода Javascript.@ViewBag.SysCode[x].Sycode
является частью вашего серверного кода C #. Поэтомуx
не существует в коде C #.
Ответ №1:
это нормально, что ваша переменная не будет распознана, поскольку она записана как строка
вместо того, чтобы использовать @ViewBag.SysCode[x].SyCode"
используйте значение вашей переменной @ViewBag.SysCode[" x "].SyCode"