У меня есть несколько полей для проверки на сервере (CustomValidator), который находится в отдельном пользовательском элементе управления, и моя кнопка «Отправить» находится на странице, не находящейся в пользовательском элементе управления.
Я сделал следующее:поместил все мои методы проверки в код позади моего usercontrol (ascx.cs), а проверка страницы в коде позади страницы (aspx.cs).Я положил их в том же ValidationGroupName (поля и кнопка «Отправить»).usercontrol (ascx) является дочерним элементом моей страницы (aspx).Я уже поместил CauseValidation="true"
на мою кнопку и UseSubmitBehavior="true"
.Проблема в том, что она не проверяется.В чем может быть проблема в этом?
Примечание: Я не могу поместить кнопку как часть пользовательского контроля.
Редактировать:
inмоя страница aspx, событие нажатия кнопки имеет this.Page.Validate(ValidationGroupName)
, и все мои валидаторы находятся в полях отдельного элемента управления (ascx), который является дочерним элементом страницы aspx.
protected void Button1_Command(object sender, CommandEventArgs e)
{
if(e.CommandName.Equals("Validate", StringComparison.Ordinal))
{
this.Page.Validate("MyValidationGroup");
if(this.Page.IsValid)
{
// I'll change my View here.
}
}
}
Моя кнопка выглядиткак
<asp:Button ID="Button1" runat="server" UseSubmitBehavior="true" CommandName="Validate"
Text="Submit" OnCommand="Button1_Command" CausesValidation="true" ValidationGroup="MyValidationGroup" />
Приведенный выше фрагмент находится на моей странице aspx.
Я пытался поставить ту же кнопку на странице ascx, она работает нормально.Моя мысль так как страница ascx находится под страницей aspx.Когда происходит событие кнопки на странице aspx (Button1), остальная часть события на странице ascx не запускается.Я пытался поставить точки останова на события кнопки и события валидатора, если кнопка страницы (aspx) является той, которую я нажимаю, она не остановится на моих событиях валидатора, если кнопка на элементе управления (ascx) я нажмуон остановится на событиях валидатора.Что может быть средством от этого?