Deklarativní syntaxe serverového ovládacího prvku HtmlAnchor
Vytvoří serverový ovládací element, který se mapuje na element <a> jazyka HTML a umožňuje se propojit k jiné webové stránce.
<a
EnableViewState="False|True"
Href="string"
Id="string"
Title="string"
Visible="False|True"
OnDataBinding="OnDataBinding event handler"
OnDisposed="OnDisposed"
OnInit="OnInit event handler"
OnLoad="OnLoad event handler"
OnPreRender="OnPreRender event handler"
OnServerClick="OnServerClick event handler"
OnUnload="OnUnload event handler"
runat="server"
>
linkText
</a>
Poznámky
Použijte ovládací prvek HtmlAnchor pro programové ovládání elementu <a> jazyka HTML. Element <a> jazyka HTML umožňuje vytvořit hypertextový odkaz, který umožňuje přesunout se do jiného umístění na stránce nebo na jinou webovou stránku. Ovládací prvek HtmlAnchor musí být dobře vytvořen s počáteční a koncovou značkou. Můžete určit titulek ovládacího prvku umístěním textu mezi otevírací a zavírací značku. Tento serverový ovládací prvek se obvykle používá pro dynamické modifikace atributů a vlastností elementu <a>, zobrazení hypertextových odkazů z datového zdroje a ovládání událostí pro dynamické generování ovládacích prvků HtmlAnchor.
Můžete určit umístění, ve kterém chcete zobrazit novou webovou stránku, pomocí vlastnosti Target. Hodnoty Target musí začínat písmenem v rozsahu od a do z (nerozlišuje velká a malá písmena) s výjimkou speciálních hodnot, které začínají podtržítkem: _blank, _self, _parent a _top.
Je možné dynamicky generovat adresu URL, na kterou chcete, aby ovládací prvek HtmlAnchor odkazoval. Chcete-li generovat vlastnost HRef dynamicky, deklarujte ovládací prvek HTMLAnchor v dokumentu HTML. Příklad:
<a id="anchor1" runat="server"></a>
<a id="anchor1" runat="server"></a>
Poznámka |
---|
Nezapomeňte vložit ovládací prvek HtmlAnchor v otevírací a zavírací značce ovládacího prvku HtmlForm. |
Dále napište obslužnou rutinu události, která přiřadí adresu URL vlastnosti HRef patřící HtmlControl.
Přestože ovládací prvek HtmlAnchor přímo nepodporuje vytváření vazby k datovému zdroji, je možné generovat hypertextové odkazy z hodnot polí v datovém zdroji. Nejdříve vytvořte vazbu mezi datovým zdrojem a seznamem, jako například Repeater. Dále deklarujte ovládací prvek HtmlAnchor uvnitř seznamu. Nakonec přidejte vložený kód pro hodnotu vlastnosti HRef, která používá metodu Eval třídy DataBinder pro určení pole, které se má použít.
Příklad
Následující příklad ukazuje, jak dynamicky svázat URL s ovládacím prvkem HtmlAnchor při vyvolání události Page_Load.
Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
anchor1.HRef = "https://www.microsoft.com"
End Sub
void Page_Load(object sender, EventArgs e)
{
anchor1.HRef = "https://www.microsoft.com";
}
Následující příklad ukazuje, jak zahrnout ovládací prvek HtmlAnchor v rámci ovládacího prvku Repeater. Data jsou svázána s ovládacím prvkem Repeater, zatímco je ovládací prvek HtmlAnchor umístěn v ItemTemplate, který zobrazí určité pole ve zdroji dat jako hypertextový odkaz.
<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<!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>HtmlAnchor Control</title>
</head>
<script runat="server">
Sub Page_Load(sender As Object, e As EventArgs)
Dim dt As New DataTable()
Dim dr As DataRow
dt.Columns.Add(New DataColumn("IntegerValue", GetType(Int32)))
dt.Columns.Add(New DataColumn("StringValue", GetType(String)))
dt.Columns.Add(New DataColumn("DateTimeValue", GetType(DateTime)))
dt.Columns.Add(New DataColumn("BoolValue", GetType(Boolean)))
dt.Columns.Add(New DataColumn("CurrencyValue", GetType(Double)))
Dim i As Integer
For i = 0 To 8
dr = dt.NewRow()
dr(0) = i
dr(1) = "Item " + i.ToString()
dr(2) = DateTime.Now
If i Mod 2 <> 0 Then
dr(3) = True
Else
dr(3) = False
End If
dr(4) = 1.23 *(i + 1)
dt.Rows.Add(dr)
Next i
MyRepeater.DataSource = New DataView(dt)
MyRepeater.DataBind()
End Sub
</script>
<body>
<h3>Data Binding with the HtmlAnchor</h3>
<br />
<form id="Form1" runat="server">
<asp:Repeater id="MyRepeater" runat="server">
<ItemTemplate>
Link for
<a id="A1" href='<%# DataBinder.Eval(Container, _
"DataItem.StringValue", _
"detailspage.aspx?id={0}") %>'
runat="server">
<%# DataBinder.Eval(Container, "DataItem.StringValue") %>
</a>
</ItemTemplate>
</asp:Repeater>
</form>
</body>
</html>
<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<!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>HtmlAnchor Control</title>
</head>
<script runat="server">
void Page_Load(Object sender, EventArgs e)
{
DataTable dt = new DataTable();
DataRow dr;
dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
dt.Columns.Add(new DataColumn("StringValue", typeof(string)));
dt.Columns.Add(new DataColumn("DateTimeValue", typeof(DateTime)));
dt.Columns.Add(new DataColumn("BoolValue", typeof(bool)));
dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double)));
for (int i = 0; i < 9; i++)
{
dr = dt.NewRow();
dr[0] = i;
dr[1] = "Item " + i.ToString();
dr[2] = DateTime.Now;
dr[3] = (i % 2 != 0) ? true : false;
dr[4] = 1.23 * (i+1);
dt.Rows.Add(dr);
}
MyRepeater.DataSource=new DataView(dt);
MyRepeater.DataBind();
}
</script>
<body>
<h3>Data Binding with the HtmlAnchor</h3>
<br />
<form id="Form1" runat="server">
<asp:Repeater id="MyRepeater" runat="server">
<ItemTemplate>
Link for
<a id="A1" href='<%# DataBinder.Eval(Container,
"DataItem.StringValue",
"detailspage.aspx?id={0}") %>'
runat="server">
<%# DataBinder.Eval(Container, "DataItem.StringValue") %>
</a>
<br />
</ItemTemplate>
</asp:Repeater>
</form>
</body>
</html>