CompareValidator.AddAttributesToRender(HtmlTextWriter) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将此控件的属性添加到输出流中,以便在客户端上呈现。
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。
示例
下面的代码示例演示如何重写 AddAttributesToRender 自定义服务器控件中的 方法,以便 CompareValidator 错误消息始终以粗体显示。
重要
此示例具有一个接受用户输入的文本框,这是一个潜在的安全威胁。 默认情况下,ASP.NET 网页验证用户输入是否不包含脚本或 HTML 元素。 有关详细信息,请参阅脚本侵入概述。
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS.Controls" Assembly="Samples.AspNet.CS" %>
<%@ Page language="c#" %>
<!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 CompareValidator - AddAttributesToRender - C# Example</title>
<script runat="server">
void Page_Load(Object sender, EventArgs e)
{
// Run the Page Validate method in order to force
// the CompareValidate to show it's error message.
Page.Validate();
}
</script>
</head>
<body>
<form id="Form1" method="post" runat="server">
<h3>Custom CompareValidator - AddAttributesToRender - C# Example</h3>
<asp:TextBox id="TextBox1" runat="server">123</asp:TextBox><br />
<asp:TextBox id="TextBox2" runat="server">456</asp:TextBox>
<aspSample:CustomCompareValidatorAddAttributesToRender
id="CompareValidator1"
runat="server"
ErrorMessage="Value in TextBox2 does not match value in TextBox1."
Display="Dynamic"
ControlToCompare="TextBox2"
ControlToValidate="TextBox1" /><br />
<asp:Button id="Button1" runat="server" Text="Button" />
</form>
</body>
</html>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB.Controls" Assembly="Samples.AspNet.VB" %>
<%@ Page language="VB" %>
<!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 CompareValidator - AddAttributesToRender - VB.NET Example</title>
</head>
<body>
<form id="Form1" method="post" runat="server">
<h3>Custom CompareValidator - AddAttributesToRender - C# Example</h3>
<asp:TextBox id="TextBox1" runat="server">123</asp:TextBox><br />
<asp:TextBox id="TextBox2" runat="server">456</asp:TextBox>
<aspSample:CustomCompareValidatorAddAttributesToRender
id="CompareValidator1" runat="server"
ErrorMessage="Value in TextBox2 does not match value in TextBox1."
Display="Dynamic" ControlToCompare="TextBox2" ControlToValidate="TextBox1" /><br />
<asp:Button id="Button1" runat="server" Text="Button" />
</form>
</body>
</html>
using System.Web;
using System.Security.Permissions;
namespace Samples.AspNet.CS.Controls
{
[AspNetHostingPermission(SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Minimal)]
public sealed class CustomCompareValidatorAddAttributesToRender : System.Web.UI.WebControls.CompareValidator
{
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 CustomCompareValidatorAddAttributesToRender
Inherits System.Web.UI.WebControls.CompareValidator
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