Bewerken

Share via


HtmlInputImage.RenderAttributes(HtmlTextWriter) Method

Definition

Renders the HtmlInputImage control's attributes to the specified HtmlTextWriter object.

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)

Parameters

writer
HtmlTextWriter

The HtmlTextWriter that contains the output stream to render on the client.

Exceptions

The Src property contains a malformed URL.

Examples

The following code example demonstrates how to override the RenderAttributes method in a custom server control so that specific alternate text, accessible as a ToolTip, is always displayed with the 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

Remarks

The RenderAttributes method resolves the URL set in the Src property, writes the onclick attribute of the rendered HtmlInputImage control if the CausesValidation property is true, and finally calls the base RenderAttributes method. If the value of the Src property is a malformed URL, an HttpException exception is thrown.

The RenderAttributes method is used primarily by control developers extending the functionality of the HtmlInputImage control.

Applies to

See also