ASP.NET has a LinkButton control, which looks like a link but works like a button. Almost.
Generally speaking, when you hover over a link in your browser, you get to see the URL of the link, so you know where you’re going. With a LinkButton, however, you get gibberish.
Right-clicking a link gives users a range of options for doing what they want with that link. A LinkButton doesn’t allow this – it looks like a link, but it doesn’t work like one. Not doing things like your users expect leads to confusion.
In some browsers, you can middle-click to open up a link in a new tab. Personally, this is something I use all the time. Indeed, there’s even a Firefox extension, SubmitToTab, which lets you do the same thing with a button. LinkButtons, however, break this, and break it badly. It’s not that it doesn’t work, but it also sends you to a blank page with gibberish in the address bar.
Now, granted, so far, everything’s working as though it was a button, not a link – and a LinkButton is supposed to be a button, after all (which happens to look like a link). However, a user expects that if it looks like a link, then it will be a link, and behave like a link, and vice versa. Putting actions behind (what looks like) a link is dangerous because users might not realise that they are committing an action. If it’s supposed to be a button, why use what looks like a link? You’ll just confuse things!
Anyway, most of the sites that I’ve seen using LinkButtons have been using them for what is, effectively, navigation.