The AsyncHyperLink provides you with an Async-Enabled anchor tag server control.
<%@ Register Assembly="AsyncControls" Namespace="DelvingWare.AsyncControls" TagPrefix="dw" %> <dw:AsyncHyperLink runat="server" ID="hlMain" Text="Link To This Page" CssClass="asyncHyperLink" NavigateUrl="http://www.AJAXForASP.NET" OnMouseOut="hlMain_MouseOut" OnMouseOver="hlMain_MouseOver" Target="_blank" /> <dw:AsyncLabel runat="server" ID="lblMain" RenderMode="H4">Mouse over the AsyncHyperLink.</dw:AsyncLabel> <dw:AsyncTextBox runat="server" ID="txtMain" Size="50" OnTextChanged="txtMain_TextChanged" EnableValidation="Enabled" MultiValidate="RegularExpression|RequiredField" ErrorMessageCssClass="errorMsg" ValidationExpression="http(|s)://(.+)\.(com|net|org|edu)" ValidationExpressionOptions="IgnoreCase" RegexErrorMessage="Please enter a valid url. (ex: http://AsyncControls.com)" RequiredErrorMessage="Please enter a url.">http://www.AJAXForASP.NET</dw:AsyncTextBox> <dw:AsyncButton runat="server" ID="btMain" CausesValidation="true" OnClick="btMain_Click" CssClass="greyButton">Change AsyncHyperLink NavigateUrl</dw:AsyncButton>
using System; using DelvingWare.AsyncControls; ... protected void hlMain_MouseOut( object sender, AsyncEventArgs ae ) { // update the label lblMain.Text = "Mouse out."; } protected void hlMain_MouseOver( object sender, AsyncEventArgs ae ) { // update the label lblMain.Text = "Mouse over."; } protected void btMain_Click( object sender, AsyncEventArgs ae ) { // ensure validation passed if ( !AsyncPage.IsValid ) return; // change targeted url hlMain.NavigateUrl = txtMain.Text; // update the label lblMain.Text = "NavigateUrl changed."; } protected void txtMain_TextChanged( object sender, AsyncEventArgs ae ) { // update the AsyncHyperLink text hlMain.Text = txtMain.Text; }
Imports System Imports DelvingWare.AsyncControls ... Protected Sub hlMain_MouseOut(ByVal sender As Object, ByVal ae As AsyncEventArgs) ' update the label lblMain.Text = "Mouse out." End Sub Protected Sub hlMain_MouseOver(ByVal sender As Object, ByVal ae As AsyncEventArgs) ' update the label lblMain.Text = "Mouse over." End Sub Protected Sub btMain_Click(ByVal sender As Object, ByVal ae As AsyncEventArgs) ' ensure validation passed If Not AsyncPage.IsValid Then Return End If ' change targeted url hlMain.NavigateUrl = txtMain.Text ' update the label lblMain.Text = "NavigateUrl changed." End Sub Protected Sub txtMain_TextChanged(ByVal sender As Object, ByVal ae As AsyncEventArgs) ' update the AsyncHyperLink text hlMain.Text = txtMain.Text End Sub
.asyncHyperLink { color: #5e5e5e; } .asyncHyperLink:hover { color: #00A2FF; text-decoration: none; }