Is there a way to add an onclick event to an ASP.NET Label server control?

fuentesjr picture fuentesjr · Oct 8, 2008 · Viewed 99.1k times · Source

I wanted to do something like this:

<asp:Label ID="lblMyLabel" onclick="lblMyLabel_Click" runat="server">My Label</asp:Label>

I know that in Javascript I can do:

<span onclick="foo();">My Label</span>

So I'm wondering why I can't do that with a Label object.

Answer

Brian Kim picture Brian Kim · Oct 8, 2008

You can use Attributes to add onclick client side callback.

I didn't know you can do this on span tags, but if it works you can add 'onclick' by lblMyLabel.Attributes.Add("onclick", "foo();");

But foo(); would need to be a client side javascript function.

System.Web.UI.WebControls.Label does NOT have OnClick server event. You could look into using AJAX if you want server callback with example above.

You could also use LinkButton like other say. You can make it not look like a link by using CSS, if it is just that underline you are concerned about.

ASPX:

<asp:LinkButton ID="LinkButton1" runat="server" 
    CssClass="imjusttext" OnClick="LinkButton1_Click">
LinkButton
</asp:LinkButton>

CSS:

a.imjusttext{ color: #000000; text-decoration: none; }
a.imjusttext:hover { text-decoration: none; }