2011-01-18 4 views
0

У меня есть текстовое поле, которое проверяется, чтобы убедиться, что есть текстовое содержимое для страницы загрузки файла.ControlToValidate срабатывает при всех нажатиях: я только хочу, чтобы он срабатывал, когда я нажимаю кнопку «Отправить»

Моя проблема заключается в том, что когда страница загружена и вы нажимаете так или иначе, как на странице, ControlToValidate запускается немедленно, это проблема, потому что я хочу, чтобы страница проверяла текстовое поле при нажатии кнопки загрузки.

Вы попадаете в ловушку на странице «Загрузить файл» до тех пор, пока не введете какой-либо случайный текст в текстовое поле, даже если вы щелкнете ссылку, чтобы попасть в другое место на сайте (например, логотип вернется на главную страницу).

Вот мой соответствующий код сниппет:

<asp:Label runat="server">Name</asp:Label>: 
<br /> 
<asp:TextBox runat="server" ID="txtName"></asp:TextBox><asp:RequiredFieldValidator 
    runat="server" ID="txtNameRequired" Display="Dynamic" ControlToValidate="txtName" 
    Text="Name is required." CssClass="errorText" /><br /> 

<asp:Button runat="server" ID="btnUpload" Text="Upload" OnClick="btnUpload_Click" /> 
</asp:Panel> 

Так у меня есть пара идей, но не был уверен, как их реализовать:

1) найти свойство, которое соединит ControlToValidate исключительно к нажатие кнопки загрузки.

или

2) Установите ControlToValidate так, что она вызывается только на постбэков

Я просто не знаю, с чего начать и не удалось найти каких-либо свойств, в частности, сделать это!

Большое спасибо за ваше время!

ответ

1

Задайте свойство ValidationGroup кнопки и элементов управления, чтобы подтвердить их значение.

+0

Да, большое спасибо - это сработало. Я неправильно понял использование этого имущества, я полагал, что это было только для того, чтобы сказать, что у вас есть кнопка отправки и сброса (чтобы различать два). Я не пришел к следующему естественному выводу. Благодарю вас! – Pharaon

1

Установить CausesValidation в значение false для других элементов управления проводкой.

<asp:Button CausesValidation="false" Text="Cancel" Name="CancelButton" /> 
+0

Привет, Технически это будет работать, за исключением того, что на странице слишком много разных элементов (панель навигации, панель поиска и т. Д.). – Pharaon

+0

, чтобы это осуществимо. – Pharaon

+0

А, я вижу, тогда девио мог прийти вам на помощь с его ответом. –

Смежные вопросы