CustomValidator.AddAttributesToRender(HtmlTextWriter) Metoda

Definicja

Dodaje właściwości kontrolki CustomValidator do strumienia wyjściowego do renderowania na kliencie.

protected:
 override void AddAttributesToRender(System::Web::UI::HtmlTextWriter ^ writer);
protected override void AddAttributesToRender (System.Web.UI.HtmlTextWriter writer);
override this.AddAttributesToRender : System.Web.UI.HtmlTextWriter -> unit
Protected Overrides Sub AddAttributesToRender (writer As HtmlTextWriter)

Parametry

writer
HtmlTextWriter

Element HtmlTextWriter zawierający strumień wyjściowy do renderowania na kliencie.

Przykłady

W poniższym przykładzie kodu pokazano, jak zastąpić metodę AddAttributesToRender w niestandardowej kontrolce serwera, aby CustomValidator komunikat o błędzie był zawsze wyświetlany pogrubioną czcionką.

Ważne

Ten przykład zawiera pole tekstowe, które akceptuje dane wejściowe użytkownika, co jest potencjalnym zagrożeniem bezpieczeństwa. Domyślnie ASP.NET strony sieci Web sprawdzają, czy dane wejściowe użytkownika nie zawierają skryptów ani elementów HTML. Aby uzyskać więcej informacji, zobacz Script Exploits Overview (Omówienie luk w zabezpieczeniach skryptów).

<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet" Assembly="Samples.AspNet.CS" %>
<%@ 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>
    <title>Custom CustomValidator - AddAttributesToRender - C# Example</title>
    <script runat="server">
    void CustomValidator1_ServerValidate(Object source, ServerValidateEventArgs args) 
    {
      try 
      {
        // Test whether the value entered into the text box is even.
        int i = int.Parse(args.Value);
        args.IsValid = ((i%2) == 0);
      }
      catch(Exception ex)
      {
        args.IsValid = false;
      }
    }
    </script>
  </head>
<body>
  <form id="Form1" method="post" runat="server">
    <h3>Custom CustomValidator - AddAttributesToRender - C# Example</h3>
    
    <asp:Label id="Label1" runat="server" 
    Text="Enter an even number:" AssociatedControlID="TextBox1"/><br />
    
    <asp:TextBox id="TextBox1" runat="server" /> 
    
    <aspSample:CustomCustomValidatorAddAttributesToRender 
      id="Customvalidator1" 
      runat="server" 
      ControlToValidate="TextBox1" 
      Display="Static" 
      ErrorMessage="Not an even number!" 
      OnServerValidate="CustomValidator1_ServerValidate" /><br /><br />
    
    <asp:Button id="Button1" runat="server" Text="Validate" />
    
  </form>
</body>
</html>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB.Controls" Assembly="Samples.AspNet.VB" %>
<%@ 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>
    <title>Custom CustomValidator - AddAttributesToRender - VB.NET Example</title>
    <script runat="server">
      Sub CustomValidator1_ServerValidate(source As Object, args As ServerValidateEventArgs)
        args.IsValid = False
        Try
          ' Test whether the value entered into the text box is even or not.
          Dim i As Integer = Integer.Parse(args.Value)
          If (i Mod 2) = 0 Then
            args.IsValid = True
          End If
        Catch
        End Try
      End Sub
    </script>
  </head>
<body>
  <form id="Form1" method="post" runat="server">
    <h3>Custom CustomValidator - AddAttributesToRender - VB.NET Example</h3>
    <asp:Label id="Label1" runat="server" Text="Enter an even number:" AssociatedControlID="TextBox1" /><br />
    <asp:TextBox id="TextBox1" runat="server" /> 
    <aspSample:CustomCustomValidatorAddAttributesToRender id="Customvalidator1" runat="server" ControlToValidate="TextBox1" Display="Static" ErrorMessage="Not an even number!" OnServerValidate="CustomValidator1_ServerValidate" /><br /><br />
    <asp:Button id="Button1" runat="server" Text="Validate" />
  </form>
</body>
</html>
using System.Web;
using System.Security.Permissions;

namespace Samples.AspNet
{
    [AspNetHostingPermission(SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Minimal)]
    public sealed class CustomCustomValidatorAddAttributesToRender : System.Web.UI.WebControls.CustomValidator
    {
        protected override void AddAttributesToRender(System.Web.UI.HtmlTextWriter writer)
        {
        // Show the CompareValidator's error message as bold.
        writer.AddStyleAttribute(System.Web.UI.HtmlTextWriterStyle.FontWeight, "bold");
          
        // Call the Base's AddAttributesToRender method.
        base.AddAttributesToRender(writer);
        }
    }
}
Imports System.Web
Imports System.Security.Permissions

Namespace Samples.AspNet.VB.Controls
    <AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Minimal)> _
    Public NotInheritable Class CustomCustomValidatorAddAttributesToRender
        Inherits System.Web.UI.WebControls.CustomValidator

        Protected Overrides Sub AddAttributesToRender(ByVal writer As System.Web.UI.HtmlTextWriter)

            ' Show the CompareValidator's error message as bold.
            writer.AddStyleAttribute(System.Web.UI.HtmlTextWriterStyle.FontWeight, "bold")

            ' Call the Base's AddAttributesToRender method.
            MyBase.AddAttributesToRender(writer)
        End Sub
    End Class
End Namespace

Dotyczy