HtmlInputImage.RenderAttributes(HtmlTextWriter) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将 HtmlInputImage 控件的属性呈现到指定的 HtmlTextWriter 对象。
protected:
override void RenderAttributes(System::Web::UI::HtmlTextWriter ^ writer);
protected override void RenderAttributes (System.Web.UI.HtmlTextWriter writer);
override this.RenderAttributes : System.Web.UI.HtmlTextWriter -> unit
Protected Overrides Sub RenderAttributes (writer As HtmlTextWriter)
参数
- writer
- HtmlTextWriter
包含要在客户端上呈现的输出流的 HtmlTextWriter。
例外
Src 属性包含格式不正确的 URL。
示例
下面的代码示例演示如何重写 RenderAttributes 自定义服务器控件中的方法,以便始终使用 HtmlInputImage工具提示访问的特定备用文本。
<%@ 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">
<script runat="server">
void Page_Load(Object sender, EventArgs e)
{
// Set the OnClick attribute of the custom HtmlInputImage control.
HtmlInputImage1.Attributes.Add("onclick", "alert('Hello client-side world.');");
}
void HtmlInputImage1_ServerClick(Object sender, ImageClickEventArgs e)
{
// Set the inner HTML of the div element.
Div1.InnerHtml = "Hello server-side world.";
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Custom HtmlInputImage - RenderAttributes - C# Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>Custom HtmlInputImage - RenderAttributes - C# Example</h3>
<aspSample:CustomHtmlInputImageRenderAttributes
id="HtmlInputImage1"
name="HtmlInputImage1"
runat="server"
type="image"
src="Image1.jpg"
alt="Microsoft"
onserverclick="HtmlInputImage1_ServerClick" />
<br />
<br />
<div
id="Div1"
runat="server"
style="DISPLAY: inline; WIDTH: 256px; HEIGHT: 15px"/>
</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">
<script runat="server">
Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
' Set the OnClick attribute of the custom HtmlInputImage control.
HtmlInputImage1.Attributes.Add("onclick", "alert('Hello client-side world.');")
End Sub
Sub HtmlInputImage1_ServerClick(ByVal sender As Object, ByVal e As ImageClickEventArgs)
' Set the inner HTML of the div element.
Div1.InnerHtml = "Hello server-side world."
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Custom HtmlInputImage - RenderAttributes - Visual Basic Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>Custom HtmlInputImage - RenderAttributes - Visual Basic Example</h3>
<aspSample:CustomHtmlInputImageRenderAttributes
id="HtmlInputImage1"
name="HtmlInputImage1"
runat="server"
type="image"
src="Image1.jpg"
alt="Microsoft"
onserverclick="HtmlInputImage1_ServerClick" />
<br />
<br />
<div
id="Div1"
runat="server"
style="DISPLAY: inline; WIDTH: 256px; HEIGHT: 15px"/>
</form>
</body>
</html>
using System.Web;
using System.Security.Permissions;
namespace Samples.AspNet.CS.Controls
{
[AspNetHostingPermission(SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Minimal)]
public sealed class CustomHtmlInputImageRenderAttributes : System.Web.UI.HtmlControls.HtmlInputImage
{
protected override void RenderAttributes(System.Web.UI.HtmlTextWriter writer)
{
// Add an Alt attribute to the HtmlInputImage control.
writer.Write(" alt='Alternate text from RenderAttributes'");
// Call the base class's RenderAttributes method.
base.RenderAttributes(writer);
}
}
}
Imports System.Web
Imports System.Security.Permissions
Namespace Samples.AspNet.VB.Controls
<AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Minimal)> _
Public NotInheritable Class CustomHtmlInputImageRenderAttributes
Inherits System.Web.UI.HtmlControls.HtmlInputImage
Protected Overrides Sub RenderAttributes(ByVal writer As System.Web.UI.HtmlTextWriter)
' Add an Alt attribute to the HtmlInputImage control.
writer.Write(" alt='Alternate text from RenderAttributes'")
' Call the base class's RenderAttributes method.
MyBase.RenderAttributes(writer)
End Sub
End Class
End Namespace
注解
该方法RenderAttributes解析属性中的 Src URL 集,如果CausesValidation属性为true
,则写入onclick
呈现HtmlInputImage控件的属性,最后调用基RenderAttributes方法。 如果该属性的值 Src 是格式不正确的 URL, HttpException 则会引发异常。
该方法 RenderAttributes 主要用于控件开发人员扩展控件的功能 HtmlInputImage 。