Проверка страницы ASP.NET

Связанная статья

По теме, аналогичной указанной в статье, но с более конкретным примечанием. Как именно вы обрабатываете элементы, которые находятся в состоянии просмотра (чтобы они включались в отправку), но также могут быть изменены с помощью AJAX. Например, предположим, что у нас есть раскрывающийся список, который заполняется с помощью вызова веб-службы AJAX (а не панели обновлений). Как я могу получить страницу для проверки после изменения элементов раскрывающегося списка?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
5
0
2 266
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

почему бы не проверить onChange даже в раскрывающемся списке?

просто добавьте диспетчер сценариев и добавьте это свойство в onchange в событии Page_Load

' Creating the javascript function to validate
Dim js As String
js = "function validateDDL1(ddl) { alert(ddl.value); }"

' Adding onChange javascript method
DropDownList1.Attributes.Add("onchange", "validateDDL1(this);")

' Registering the javascript
ScriptManager.RegisterClientScriptBlock(Me, GetType(String), "validateDDL1(ddl)", js, True)

Вы можете вызвать функцию Page_Validate () из своего кода javascript, она запустит валидаторы asp.net на странице, в основном это похоже на Page.Validate () в коде сервера.

Ответ принят как подходящий

Вы не проверяете раскрывающийся список, не так ли? Вы подтверждаете значение, выбранное пользователем. Это почти тот же совет, что и в другом сообщении, поскольку javascript или другие инструменты могут изменять html или создавать свои собственные POST, вы всегда должен проверяете на стороне сервера. Предположим, что все клиентские запросы могут быть изменены, и предположим, что проверка на стороне клиента не проводилась.


Если вы используете модель веб-форм ....

Если вы просто хотите проверить, что значение было выбрано в раскрывающемся списке myAjaxDropDown, используйте

<asp:RequiredFieldValidator id = "dropdownRequiredFieldValidator"
          ControlToValidate = "myAjaxDropDown"
          Display = "Static"
          InitialValue = "" runat=server>
          *
        </asp:RequiredFieldValidator>

Вы также можете посмотреть asp: CustomValidator - для проверки на стороне сервера:

<asp:CustomValidator ID = "myCustomValidator" runat = "server" 
    onservervalidate = "myCustomValidator_ServerValidate" 
    ErrorMessage = "Bad Value" />

Оба подключаются к платформе проверки asp.net. например когда вы нажимаете кнопку под названием SumbitButton

protected void myCustomValidator_ServerValidate(object source, ServerValidateEventArgs e)
{
    // determine validity for this custom validator
    e.IsValid = DropdownValueInRange(myAjaxDropDown.SelectedItem.Value); 
}

protected void SubmitButton_Click( object source, EventArgs e )
{
    Validate(); 
    if ( !IsValid )
        return;

    // validators pass. Continue processing.
}

Некоторые ссылки для дальнейшего чтения:

Другие вопросы по теме