У меня есть форма ASP.NET, которая вводит данные от пользователя. Там кнопка Submit
в форме и кнопка с именем Calc
, которая выполняет расчет, чтобы заполнить текстовое поле. Проблема, с которой я сталкиваюсь, заключается в том, что в форме у меня есть набор валидаторов <ASP:REQUIREDFIELDVALIDATOR>
, и при нажатии кнопки Calc
форма получает подтверждение. Я не хочу, чтобы требуемые поля проверялись при нажатии кнопки Calc
, только кнопка Submit
. Как это обойти?
Как обойти проверку для кнопки в ASP.NET?
Ответ 1
Задайте для свойства CausesValidation
значение false.
Ответ 2
<asp:Button runat="Server" ... CausesValidation="False" />
Button.CausesValidation (если я правильно помню).
Ответ 3
Попробуйте поместить CausesValidation="false"
в качестве атрибута кнопки.
Пример кода:
http://weblogs.asp.net/scottgu/archive/2005/08/04/421647.aspx
Ответ 4
Установите для параметра button.causesValidation значение false.
Однако, если все, что он делает, вычисляет что-то, основанное на пользовательском вводе, тогда вы не должны его вообще отправлять. Я бы рекомендовал использовать кнопку HTML и прикрепить к нему какой-нибудь javascript, чтобы сделать вашу работу за вас, и тогда у вас не будет этой проблемы.
Ответ 5
Страница ASPX:
<asp:Button ID="buttonNew" runat="server" Text="New" CausesValidation="False" />
ИЛИ
Страница CodeBehind: (.cs)
buttonNew.CausesValidation = false;
Отметьте здесь, чтобы узнать больше о событиях Validated
и Validating
для элементов управления.
Ответ 6
При разработке кнопки вы можете установить ее свойство CausesValidation = "false", чтобы избежать проверки при событии нажатия кнопки. Он не позволяет проверять серверный контроль и выполнять только событие клика