Button.CausesValidation Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar eller anger ett värde som anger om verifieringen utförs när Button kontrollen klickas.
public:
property bool CausesValidation { bool get(); void set(bool value); };
public:
virtual property bool CausesValidation { bool get(); void set(bool value); };
[System.ComponentModel.Bindable(false)]
public bool CausesValidation { get; set; }
[System.Web.UI.Themeable(false)]
public virtual bool CausesValidation { get; set; }
[<System.ComponentModel.Bindable(false)>]
member this.CausesValidation : bool with get, set
[<System.Web.UI.Themeable(false)>]
member this.CausesValidation : bool with get, set
Public Property CausesValidation As Boolean
Public Overridable Property CausesValidation As Boolean
Egenskapsvärde
trueom verifieringen utförs när Button kontrollen klickas, annars . false Standardvärdet är true.
Implementeringar
- Attribut
Exempel
Följande kodexempel visar hur du använder CausesValidation egenskapen för att förhindra att sidvalidering sker. Observera att Validate metoden aktiverar varje valideringskontroll oberoende av varandra.
Important
Det här exemplet har en textruta som accepterar användarindata, vilket är ett potentiellt säkerhetshot. Som standard kontrollerar ASP.NET webbsidor att användarindata inte innehåller skript- eller HTML-element. Mer information finns i Översikt över skriptexploateringar.
<%@ Page Language="C#" AutoEventWireup="True" %>
<!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> Button CausesValidation Example </title>
<script runat="server">
void SubmitButton_Click(Object sender, EventArgs e)
{
// Determine which button was clicked.
switch(((Button)sender).ID)
{
case "CityQueryButton":
// Validate only the controls used for the city query.
CityReqValidator.Validate();
// Take the appropriate action if the controls pass validation.
if (CityReqValidator.IsValid)
{
Message.Text = "You have chosen to run a query for the following city: " +
CityTextBox.Text;
}
break;
case "StateQueryButton":
// Validate only the controls used for the state query.
StateReqValidator.Validate();
// Take the appropriate action if the controls pass validation.
if (StateReqValidator.IsValid)
{
Message.Text = "You have chosen to run a query for the following state: " +
StateTextBox.Text;
}
break;
default:
// If the button clicked isn't recognized, erase the message on the page.
Message.Text = "";
break;
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<h3> Button CausesValidation Example </h3>
<table border="1" cellpadding="10">
<tr>
<td>
<b>Enter city to query.</b> <br />
<asp:TextBox ID="CityTextBox"
runat="server"/>
<asp:RequiredFieldValidator ID="CityReqValidator"
ControlToValidate="CityTextBox"
ErrorMessage="<br />Please enter a city."
Display="Dynamic"
EnableClientScript="False"
runat="server"/>
</td>
<td valign="bottom">
<asp:Button ID="CityQueryButton"
Text="Submit"
CausesValidation="False"
OnClick="SubmitButton_Click"
runat="server"/>
</td>
</tr>
<tr>
<td>
<b>Enter state to query.</b> <br />
<asp:TextBox ID="StateTextBox"
runat="server"/>
<asp:RequiredFieldValidator ID="StateReqValidator"
ControlToValidate="StateTextBox"
ErrorMessage="<br />Please enter a state."
Display="Dynamic"
EnableClientScript="False"
runat="server"/>
</td>
<td valign="bottom">
<asp:Button ID="StateQueryButton"
Text="Submit"
CausesValidation="False"
OnClick="SubmitButton_Click"
runat="server"/>
</td>
</tr>
</table>
<br /><br />
<asp:Label ID="Message"
runat="Server"/>
</form>
</body>
</html>
<%@ Page Language="VB" AutoEventWireup="True" %>
<!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> Button CausesValidation Example </title>
<script runat="server">
Sub SubmitButton_Click(sender As Object, e As EventArgs)
' Determine which button was clicked.
Select Case (CType(sender, Button)).ID
Case "CityQueryButton"
' Validate only the controls used for the city query.
CityReqValidator.Validate()
' Take the appropriate action if the controls pass validation.
If CityReqValidator.IsValid Then
Message.Text = "You have chosen to run a query for the following city: " & _
CityTextBox.Text
End If
Case "StateQueryButton"
' Validate only the controls used for the state query.
StateReqValidator.Validate()
' Take the appropriate action if the controls pass validation.
If StateReqValidator.IsValid Then
Message.Text = "You have chosen to run a query for the following state: " & _
StateTextBox.Text
End If
Case Else
' If the button clicked isn't recognized, erase the message on the page.
Message.Text = ""
End Select
End Sub
</script>
</head>
<body>
<form id="form1" runat="server">
<h3> Button CausesValidation Example </h3>
<table border="1" cellpadding="10">
<tr>
<td>
<b>Enter city to query.</b> <br />
<asp:TextBox ID="CityTextBox"
runat="server"/>
<asp:RequiredFieldValidator ID="CityReqValidator"
ControlToValidate="CityTextBox"
ErrorMessage="<br />Please enter a city."
Display="Dynamic"
EnableClientScript="False"
runat="server"/>
</td>
<td valign="bottom">
<asp:Button ID="CityQueryButton"
Text="Submit"
CausesValidation="False"
OnClick="SubmitButton_Click"
runat="server"/>
</td>
</tr>
<tr>
<td>
<b>Enter state to query.</b> <br />
<asp:TextBox ID="StateTextBox"
runat="server"/>
<asp:RequiredFieldValidator ID="StateReqValidator"
ControlToValidate="StateTextBox"
ErrorMessage="<br />Please enter a state."
Display="Dynamic"
EnableClientScript="False"
runat="server"/>
</td>
<td valign="bottom">
<asp:Button ID="StateQueryButton"
Text="Submit"
CausesValidation="False"
OnClick="SubmitButton_Click"
runat="server"/>
</td>
</tr>
</table>
<br /><br />
<asp:Label ID="Message"
runat="Server"/>
</form>
</body>
</html>
Kommentarer
Som standard utförs sidvalidering när en Button kontroll klickas. Sidvalidering avgör om de indatakontroller som är associerade med en valideringskontroll på sidan uppfyller alla valideringsregler som angetts av verifieringskontrollen.
Du kan ange eller avgöra om verifieringen utförs på både klienten och servern när en Button kontroll klickas med hjälp CausesValidation av egenskapen . Om du vill förhindra att verifieringen utförs anger du egenskapen CausesValidation till false.
Note
Du bör ange egenskapen CausesValidation till false när du använder PostBackUrl egenskapen för att publicera tillbaka till en annan sida. Du bör uttryckligen kontrollera verifieringen när du publicerar tillbaka till en annan sida. Ett exempel finns i avsnittet Kommentarer i PostBackUrl egenskapen.
Den här egenskapen är ofta inställd false på för en reset eller-knapp clear för att förhindra att verifieringen utförs när knappen klickas.
När värdet för CausesValidation egenskapen är inställt på truekan du också använda ValidationGroup egenskapen för att ange namnet på den verifieringsgrupp som Button kontrollen orsakar validering för.
Den här egenskapen kan inte anges med teman eller formatmallsteman. Mer information finns i ThemeableAttribute and ASP.NET Themes and Skins.