ASP.NET - Using Button control with CausesValidation property

Button CausesValidation
The Button web server control displays a push button control on the Web page. The Button lets users post a page to the server. The control triggers an event in server code that developers can handle to respond to the postback. The Button can also raise an event in the client script that developers can handle before the page is posted or that can run and then cancel the submission of the page.

The following c# tutorial code demonstrates how we can use the Button control CausesValidation property with validator control. Here we used the RequiredFieldValidator control to validate TextBox. We also add two Button controls on a web page.

We will validate the TextBox by clicking a Button control but for another Button control, we will skip the validation process. The c# developers can do this by using Button control’s CausesValidation property.

When a page contains validator controls by default clicking a Button causes the validator control to perform its check. The Button control’s CausesValidation property specifies whether clicking the Button also performs a validation check. We can set this property value to false to prevent a validation check.

The Button CausesValidation property gets or sets a value indicating whether validation is performed when the Button is clicked. This property value is a Boolean which is true if validation is performed when the Button is clicked otherwise the value is false. This property default value is true.

<%@ Page Language="C#" %>

<!DOCTYPE html>

<script runat="server">
    protected void Button1_Click(object sender, System.EventArgs e) {
        Label1.Text = "You submited this name: " +

    protected void Button2_Click(object sender, System.EventArgs e) {
        Label1.Text = "You clicked the cancel button.";

<html xmlns="">
<head runat="server">
    <title>Using Button control with CausesValidation property in</title>
    <form id="form1" runat="server">
        <h2 style="color:Fuchsia">Using CausesValidation property</h2>
        <asp:Label ID="Label1" runat="server" Font-Size="Large" ForeColor="Teal"></asp:Label>
        <br /><br />
        <asp:Label ID="Label2" runat="server" Text="Input name" AssociatedControlID="TextBox1"></asp:Label>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox1" ErrorMessage="Name required!"></asp:RequiredFieldValidator>
        <br />
        <asp:Button ID="Button1" runat="server" Text="Submit name" OnClick="Button1_Click" Font-Bold="true" CausesValidation="true" />
        <asp:Button ID="Button2" runat="server" Text="Cancel" OnClick="Button2_Click" Font-Bold="true" ForeColor="Red" CausesValidation="false" />

Related example