Мой школьный проект о создании приложения для сотрудников авиастроительной компании.мы решили объединить данные для входа в систему и наши таблицы с данными, необходимыми для проекта.мы изменили регистрационную форму, чтобы использовать электронную почту и пароль от личности, а также дополнительные данные из таблицы наших сотрудников.это работает и обновляет обе таблицы одновременно.Затем мы добавили роли (пилот, механик, стюардесса) и, выбрав роль, javascript загружает дополнительные опции для этих ролей (для сопровождающего вы можете выбрать язык, на котором он говорит, и для механика, какие самолеты им разрешено ремонтировать. для пилотов мыпросто введите дату последнего медицинского осмотра).Пилоты работают нормально, но поскольку обслуживающий персонал может говорить на большем количестве языков, а механики могут лицензироваться для более чем одного типа самолета, мы написали js, чтобы умножить эти конкретные поля выбора, нажав на значок +.тогда мы не знали, как вернуть эти несколько частей данных обратно в контроллер, чтобы он мог обновить базу данных.Учитель сказал нам собрать все значения, выбранные внутри массива javascript (готово), и передать его в пакет просмотра.мы никогда не делали такого примера в классе, и поиск в Google приводит к множеству способов передать viewbag в javascript, но не наоборот.Учитель сказал нам просто объявить viewbag в верхней части контроллера как нулевой, затем заполнить его при просмотре и использовать его в контроллере там, где это необходимо, для зацикливания и ввода данных в базу данных.Мне просто нужно знать, как передать массив js в viewbag в представлении, и я предполагаю, что код, который я написал внутри контроллера, сделает все остальное
мой код js вызывается при нажатии кнопки регистрации (он возвращает правильное значение)массив int в консоль)
function Langs() {
var trig= document.querySelector(".trig")
let langs= [];
trig.onclick = () => {
let languages= document.querySelectorAll(".languages");
for (let language of languages) {
langs.push(Number(language.value));
}
langs= [...new Set(langs)];
console.log(langs);
return langs;
}
}
внутри моего контроллера, у меня есть такой цикл:
foreach (var item in ViewBag.JeziciZaUnos)
{
Attendant att= new Attendant(){
att.attId= model.Employee.empId,
att.langId = Convert.ToInt32(item)
}
db.Attendant.Add(att);
await db.SaveChangesAsync();
}
Каждая попытка передать массив JS в эту viewbag, прямо из контроллера или внутрипредставление терпит неудачу, и C # видит только строку, такую как "Langs ();"вместо функции js.
Как я могу получить этот массив JS в viewbag, или есть другой способ собрать несколько значений из повторяющихся блоков выбора и выполнить цикл через них на стороне контроллера?