Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
 
zema
4 / 4 / 0
Регистрация: 17.09.2008
Сообщений: 88
1

Двойной вызов события OnServerValidate элемента управления CustomValidator

22.10.2008, 16:00. Просмотров 2529. Ответов 0
Метки нет (Все метки)

Всем привет!!!
Помогите пожайлуста разобраться с проблемой двойного вызова обработчика события
OnServerValidate валидатора CustomValidator.
Есть вот такой код страницы
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Test._Default" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:FormView ID="formView" runat="server" DefaultMode="Insert">
            <InsertItemTemplate>
                <table width="99%">
                    <tr style="width: 100%">
                        <td>
                            <asp:TextBox ID="pass" MaxLength="20" runat="server" TextMode="Password"></asp:TextBox><asp:Button
                                ID="submit" runat="server" />
                            <br />
                            <br />
                            <asp:CustomValidator ID="val" ControlToValidate="pass" runat="server" ValidateEmptyText="true"
                                OnServerValidate="Valid" Text="not Valid"></asp:CustomValidator>
                        </td>
                    </tr>
                </table>
            </InsertItemTemplate>
        </asp:FormView>
    </div>
    </form>
</body>
</html>
и такой код CodeBehind
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
namespace Test
{
 
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }
 
        protected void Valid(object sender, ServerValidateEventArgs args)
        {
            if(string.IsNullOrEmpty(args.Value))
            {
                args.IsValid = false;
            }
            else
            {
                if("test" != args.Value)
                {
                    args.IsValid = false;
                }
            }
        }
    }
}
Проблема такая: если при первой отработки метода Valid срабатывает этот код args.IsValid = false; то обработчик Valid вызывается еще один раз(неадекватное поведение), если не срабатывает выше указаный код то метод Valid отрабатывает только один раз(адекватное поведение).
Почему происходит повторный вызов обработчика Valid ?

Если удалить из кода страницы все што связано с FormView то метод Valid всегда срабатывает один раз(то есть адекватно).
Немогу понять почему так происходит.
Кто встречался с подобным пожалуйста помогите!
0
Вложения
Тип файла: rar Test.rar (164.1 Кб, 32 просмотров)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.10.2008, 16:00
Ответы с готовыми решениями:

Вызов события из потока: ошибка доступа к элементу управления
Смысл задачи следующий: В отдельном потоке в цикле проверяется пинг до удаленного хоста в...

Вызов события не из определенного элемента
Здравствуйте, есть input, к нему прикреплен слайдер на jquery (ползунок, при прокрутке которого...

Как подписаться на события элемента управления
Создали элемент управления через me.controls.add, а как ловить его события?

User control вызов события вложенного элемента
Всем привет. Есть user control &lt;StackPanel PreviewKeyDown=&quot;StackPanel_PreviewKeyDown&quot;&gt; ...

Привязать обработчик события для программно добавленного элемента управления
Такая проблема. Программно создаю DataGridView при добавлении новой вкладки на tabControl....

0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.10.2008, 16:00

Замена события MouseClick элемента управления, событием MouseClick формы
Здравствуйте. Прошу помощи у знающих. В главной форме frmMain создаётся объект класс MyClass,...

Вызов события из другого события по нажатию клавиши
Всем привет! Есть кнопка на Windows.Forms, к ней привязано событие. Хочется, чтобы еще и по нажатию...

Вызов события из другого события
Есть событие button4_Click, надо из него вызвать button3_Click. Как сделать?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.