Udostępnij za pośrednictwem


HtmlInputImage.RenderAttributes(HtmlTextWriter) Metoda

Definicja

Renderuje HtmlInputImage atrybuty kontrolki do określonego HtmlTextWriter obiektu.

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)

Parametry

writer
HtmlTextWriter

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

Wyjątki

Właściwość Src zawiera źle sformułowany adres URL.

Przykłady

W poniższym przykładzie kodu pokazano, jak przesłonić metodę RenderAttributes w niestandardowej kontrolce serwera, tak aby określony tekst alternatywny, dostępny jako etykietka narzędzia, był zawsze wyświetlany za pomocą elementu 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

Uwagi

Metoda RenderAttributes rozpoznaje adres URL ustawiony we Src właściwości, zapisuje onclick atrybut renderowanej HtmlInputImage kontrolki, jeśli CausesValidation właściwość ma truewartość , a na koniec wywołuje metodę podstawową RenderAttributes . Jeśli wartość Src właściwości jest źle sformułowanym adresem URL, HttpException zgłaszany jest wyjątek.

Metoda RenderAttributes jest używana głównie przez deweloperów kontrolek rozszerzających funkcjonalność kontrolki HtmlInputImage .

Dotyczy

Zobacz też