|
<< Click to Display Table of Contents >> Anchor - âncoras |
![]() ![]()
|
Criando âncoras no Asp. Para funcionar deve-se usar html puro.
Modo simples - exemplo
<asp:HyperLink ID="HyperLink1" href="#namedAnchor" runat="server">HyperLink</asp:HyperLink>
blah blah blah
blah blah blah
blah blah blah
blah blah blah
<a name="namedAnchor">down</a>
Explicação
O link leva até a âncora namedAnchor
Modo completo - usando com ListView
Se você observar é criado um Hyperlink mas não é colocada a NavigateUrl nem aqui nem no fonte cs.
<!-- listview onde ficarão os links -->
<asp:ListView ID="lvResumo" runat="server" OnItemDataBound="lvResumo_ItemDataBound">
<ItemTemplate>
<asp:HyperLink ID="hlResumo" runat="server"><%# Eval("cliente")%></asp:HyperLink>
</ItemTemplate>
</asp:ListView>
<!-- listview onde ficarão as âncoras -->
<asp:ListView ID="lvCabecalho" runat="server">
<ItemTemplate>
<a name="<%# Eval("cliente")%>">Aqui é qualquer texto</a>
</ItemTemplate>
</asp:ListView>
No fonte
protected void lvResumo_ItemDataBound(object sender, ListViewItemEventArgs e)
{
if (e.Item.ItemType == ListViewItemType.DataItem)
{
// pega o dataItem corrente
ListViewDataItem currentItem = (ListViewDataItem)e.Item;
// transforma o DataItem do currentItem em um DataRowView
DataRowView drv = (DataRowView)currentItem.DataItem;
HyperLink hlResumo = (HyperLink)e.Item.FindControl("hlResumo");
// Aqui está o pulo do gato, adicionamento atributo "href" com # + nome da âncora
hlResumo.Attributes.Add("href", "#" + drv["cliente"].ToString());
}
}