RequiredFieldValidator.AddAttributesToRender(HtmlTextWriter) 方法

定義

將需要呈現給控制項的 HTML 屬性和樣式加入至指定的 HtmlTextWriter 物件中。

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)

參數

writer
HtmlTextWriter

HtmlTextWriter,代表要於用戶端呈現 HTML 內容的輸出資料流。

範例

下列程式碼範例示範如何在自訂伺服器控制項中覆寫 AddAttributesToRender 方法, RequiredFieldValidator 讓錯誤訊息一律顯示為粗體。

重要

這個範例有一個可接受使用者輸入的文字方塊,這可能會造成安全性威脅。 根據預設,ASP.NET Web 網頁會驗證使用者輸入未包含指令碼或 HTML 項目。 如需詳細資訊,請參閱 Script Exploits Overview (指令碼攻擊概觀)。

<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS.Controls" 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 RequiredFieldValidator - AddAttributesToRender - C# Example</title>
    <script runat="server">
      void Button1_Click(Object sender, EventArgs e) 
      {
        if (Page.IsValid) 
        {
          Label1.Text = "Required field is filled!";
        }
        else 
        {
          Label1.Text = "Required field is empty!";
        }
      }
    </script>
  </head>
  <body>
    <form id="Form1" method="post" runat="server">
      <h3>Custom RequiredFieldValidator - AddAttributesToRender - C# Example</h3>

      <table border="0" cellpadding="4" cellspacing="0">
        <tr valign="top">
          <td colspan="3">
            <asp:Label ID="Label1" runat="server" Text="Fill in the required field below" />
          </td>
        </tr>
        <tr>
          <td align="right">Card Number:</td>
          <td>
            <asp:TextBox id="TextBox1" runat="server" />
          </td>
          <td>
            <aspSample:CustomRequiredFieldValidatorAddAttributesToRender 
              id="RequiredFieldValidator1" 
              runat="server" 
              ControlToValidate="TextBox1" 
              Display="Static" 
              ErrorMessage="Required" />
          </td>
        </tr>
        <tr>
          <td> </td>
          <td>
            <asp:Button id="Button1" runat="server" Text="Validate" OnClick="Button1_Click" />
          </td>
          <td> </td>
        </tr>
      </table>

    </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 RequiredFieldValidator - AddAttributesToRender - VB.NET Example</title>
        <script runat="server">
            Sub Button1_Click(sender As Object, e As EventArgs) 
            
                If Page.IsValid Then 
                
                    Label1.Text = "Required field is filled!"
                
                Else 
                
                    Label1.Text = "Required field is empty!"
                
                End If

            End Sub
        </script>
    </head>
    <body>
        <form id="Form1" method="post" runat="server">
            <h3>Custom RequiredFieldValidator - AddAttributesToRender - VB.NET Example</h3>

            <table border="0" cellpadding="4" cellspacing="0">
                <tr valign="top">
                    <td colspan="3">
                        <asp:Label ID="Label1" runat="server" 
                         Text="Fill in the required field below" />
                    </td>
                </tr>
                <tr>
                    <td align="right">Card Number:</td>
                    <td>
                        <asp:TextBox id="TextBox1" runat="server" />
                    </td>
                    <td>
                        <aspSample:CustomRequiredFieldValidatorAddAttributesToRender id="RequiredFieldValidator1" 
                         runat="server" ControlToValidate="TextBox1" Display="Static" ErrorMessage="Required" />
                    </td>
                </tr>
                <tr>
                    <td> </td>
                    <td>
                        <asp:Button id="Button1" runat="server" Text="Validate" 
                         OnClick="Button1_Click" />
                    </td>
                    <td> </td>
                </tr>
            </table>

        </form>
    </body>
</html>
using System.Web;
using System.Security.Permissions;

namespace Samples.AspNet.CS.Controls
{
  [AspNetHostingPermission(SecurityAction.Demand, Level=AspNetHostingPermissionLevel.Minimal)]
  public sealed class CustomRequiredFieldValidatorAddAttributesToRender : System.Web.UI.WebControls.RequiredFieldValidator
  {
    protected override void AddAttributesToRender(System.Web.UI.HtmlTextWriter writer)
    {
      // Show the RequiredFieldValidator'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 CustomRequiredFieldValidatorAddAttributesToRender
        Inherits System.Web.UI.WebControls.RequiredFieldValidator

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

            ' Show the RequiredFieldValidator'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

適用於