Razor Page, как задать условие для значений флажка?
Озан Башкая 21
Очки репутации
2022-10-25T09:32:06.847+00:00
Я изучаю Razor Pages и создаю проект, но где-то застрял. Просто я хочу, чтобы пользователь выбрал только 2 флажка спортивной формы. Всего имеется 4 флажка для спорта и нужно выбрать только 2 из них, иначе программа выдаст ошибку.
У меня есть таблица Student, в которой есть FirstBranch и SecondBranch. Там должны быть отмечены 2 флажка.
с использованием Microsoft.AspNetCore.Mvc;
с помощью Microsoft.AspNetCore.Mvc.RazorPages;
с помощью Microsoft.AspNetCore.Mvc.Rendering;
используя StudentRegisterProject.Web.Data;
используя StudentRegisterProject.Web.Model;
пространство имен StudentRegisterProject.Web.Pages. Student
{
[Свойства привязки]
открытый класс RegisterModel : PageModel
{
частный только для чтения StudentDbContext _studentDbContext;
public RegisterModel (StudentDbContext studentDbContext)
{
_studentDbContext = studentDbContext;
}
общественность Модель.Студент Студент {получить; набор; }
публичные ветки Филиалы {получить; набор; }
публичная пустота OnGet()
{
}
публичная пустота OnPost()
{
}
}
Я получил значения в свойстве Branches, но мне нужно указать для них условие, и я не могу его использовать. А также мой файл модели Student.cs в базе данных
пространство имен StudentRegisterProject.Web.Model
{
Филиал публичного класса
{
общедоступная строка Футбол {получить; набор; }
общественная строка Баскетбол { получить; набор; }
общественная строка Теннис { получить; набор; }
общественная строка Волейбол { получить; набор; }
}
}
Я не знаю, мой подход неправильный или нет? Я храню значения true/false из флажков в свойстве Braches, но не знаю, как задать им условие, например, если Branches.Football истинно, Student.FirstBranch = «Football».
Ядро ASP.NET Ядро ASP.NET
Набор технологий в .NET Framework для создания веб-приложений и веб-служб XML.
2604 вопроса
.NET-среда выполнения
.NET-среда выполнения
.NET: Технологии Microsoft, основанные на программной среде .NET. Время выполнения: Период времени, в течение которого программа выполняется на компьютере.
960 вопросов
Стандарт .NET
Стандарт .NET
Формальная спецификация API-интерфейсов .NET, доступных в нескольких реализациях .NET.
485 вопросов
0
Без комментариев
Войдите, чтобы подписаться
0
{count} голосов
Войдите, чтобы комментировать
Жи Лв — MSFT 18 886
Очки репутации • Сотрудник Microsoft
2022-10-26T08:03:37.493+00:00
Привет @Ozan Başkaya,
Судя по вашему описанию, в модели Branch будут перечислены доступные ветки, я думаю, что лучше использовать Enum или список объектов для отображать ветки.
Вы можете изменить модель филиала, как показано ниже:
Филиал публичного класса
{
публичная строка BranchName { получить; набор; }
}
В файле Register.cshtml. cs можно добавить исходные данные следующим образом: Или в методе OnGet можно запросить базу данных и получить ветки. Посмотреть код страницы:
Затем на странице Register.cshtml вы можете использовать оператор foreach для зацикливания и отображения ветвей: Просмотрите код страницы:
Результат, как показано ниже: Я использую JS для выбора только одного элемента в группу и отключить тот же элемент в другой группе.
Если ответ правильный, нажмите «Принять ответ» и проголосуйте за него. Если у вас есть дополнительные вопросы по этому ответу, нажмите «Комментарий». Примечание. Чтобы включить уведомления по электронной почте, выполните действия, описанные в нашей документации, если вы хотите получать соответствующее уведомление по электронной почте для этой темы.
С уважением, Диллион
Войдите, чтобы комментировать
Сортировать по: Самый полезный
Самые полезные Самые новые Самые старые
org/Answer0″>
Жи Лв — MSFT 18 886
Очки репутации • Сотрудник Microsoft
2022-10-27T09:17:40.507+00:00
Привет, @Ozan Başkaya,
Можете ли вы также показать мне решение для серверной части? Пользователь должен выбрать более двух флажков, но после кнопки отправки метод OnPost должен выдать ошибку. Как я могу это сделать?
Чтобы использовать только внутренний код для проверки выбранного значения, вы можете изменить код, как показано ниже:
Удалить код JS
В модели Student используйте List для хранения FirstBranch и SecondBranch:
публичный класс Студент
{
общедоступный идентификатор Guid {получить; набор; }
общедоступная строка Имя {получить; набор; }
общедоступная строка Электронная почта {получить; набор; }
//используем list для хранения нескольких выбранных значений
публичный список<строка> FirstBranch { get; набор; }
публичный список<строка> SecondBranch { get; набор; }
}
Измените код Register. cshtml.cs, как показано ниже: добавьте оператор if для проверки значения, затем используйте ViewData, чтобы вернуть сообщение проверки на страницу Register.cshtml. Просмотрите исходный код.
На странице Register.cshtml используйте оператор if для отображения сообщения проверки.
Вывод, как показано ниже:
С уважением, Dillion
0
Без комментариев
Войдите, чтобы комментировать
Войдите, чтобы ответить
Флажки: MGA
О DoITML TutorialJavaScript TutorialXML TutorialPHP Tutorial
Глава 1. Создание веб-страницГлава 2. Базовый макет документаГлава 3. Основные стили документаГлава 4. Форматирование текстаГлава 5. Графические изображенияГлава 6. Применение специальных стилейГлава 7. Связывание страницГлава 8.
9 Использование таблиц- Воспроизведение мультимедиаГлава 10. Создание формГлава 11. Дизайн веб-сайтовПриложение HTML/CSS
Флажок , подобно переключателю, предоставляет пользователю выбор. В случае
ряд флажков, однако выбор не является взаимоисключающим; скорее пользователь
можно выбрать один или несколько вариантов . Для тех флажков, которые отмечены, появляется галочка. Невыбранные ячейки остаются пустыми. Ниже показан набор флажков.
Общий формат кодирования флажка аналогичен формату радиокнопки. Ан Тег требуется для каждого флажка.
id=» id » name=» name » value=» text » checked=»checked» disabled 9=»readonly disabled9=»01donlydisabled9=»0156 name » value=» » required=»обязательно» >
Рисунок 10-22. Общий формат для 9тег 0119.
Тег отображает только флажок. Для того, чтобы
укажите метку для флажка, текст может появиться либо до, либо после тега для размещения
слева или справа от флажка.
Атрибут идентификатора
id может быть назначен флажку, если есть необходимость идентифицировать его для
обработка скрипта, обычно скриптом браузера. В противном случае идентификатор не нужен.
Имя Атрибут
Флажкам может потребоваться имя с атрибутами имени , чтобы выбранные значения
могут быть связаны с именами для обработки сценариев сервера. Как и в случае с радиокнопками,
все флажки в группе могут иметь одно и то же имя. Однако, в отличие от радиокнопок, обычное название
делает ли , а не выбор взаимоисключающим. Имя просто берет на себя больше, чем
одно значение, если сделано более одного выбора. Это представляет некоторые особенности обработки, но это
действительны для этого. Лучшее решение — присвоить флажкам разные имена. Затем каждое имя
становится связанным с другим значением независимо от количества проверок, сделанных пользователем.
Если набор флажков участвует только в обработке браузера, то значения id, а не имена,
можно закодировать для флажков.
Значение атрибута
Как и в случае с переключателем, значение, связанное с флажком, указывается в поле флажка. значение атрибут. Когда форма отправляется для обработки сервером, это значение
связано с именем конкретного флажка. Для обработки браузера значение равно
связанный с идентификатором флажка. Значения не обязательно должны совпадать с метками. Обычно,
сокращенные коды используются для значений, а более описательный текст используется для меток.
Проверенный атрибут
Флажки можно предварительно проверить, закодировав checked="checked" для любого количества различных
флажки, как вы хотите, предварительно проверены.
Различные настройки флажков показаны ниже для набора, показанного выше на рис. 10-21.
В этом примере всем флажкам присвоены разные имена, чтобы различать их для сервера.
обработка. Предварительно не установлены флажки. Значения id не назначаются, так как эти флажки
обрабатывается сценарием сервера, а не сценарием браузера.