r.r
r.r

Reputation: 7153

how to insert image in html action link? asp.net mvc

I have navigation and many link on my webproject from html action links. They are ugly with underline. I would like to insert some image with name or play with styles of action link. Is it possible? How to do that?

Thanks and take care, Ragims

Upvotes: 8

Views: 25764

Answers (5)

Amit Ghute
Amit Ghute

Reputation: 61

Instead of using @Html.ActionLink("linkname","action","controller") you can use following

<a href='@Url.Action("action", "controller")'>
<img src='@Url.Content("~/images/imageName.png")' />

"images" is my folder for storing the images. @Url.Content() is to know the path. You can pass your action and the controller for that action to @Url.Action(). @Url.Action() works similar to the @Html.ActionLink(). Now your link will get replaced by the image.

Upvotes: 0

bunny hop
bunny hop

Reputation: 3

If You are on MVC 3-4 with razor view engine then this may help you-

@Html.ActionLink("your link Name", "Action Method", "Controller", 
        new { style = "background-image:url('.././Images/imageyouwanttoshow.png')" },null)

Upvotes: 0

Steve Danner
Steve Danner

Reputation: 22158

One solution is to create an HtmlHelper extension method for creating an image-specific action link. A detailed tutorial can be found here.

Upvotes: 0

Ryan Peters
Ryan Peters

Reputation: 7708

Html.ActionLink and Url.Action return the same URL. The difference is that the first creates an HTML element while the second returns just the URL to that action.

Another option is to use Url.RouteUrl or Html.RouteLink to create a link based off your route (to an action) instead of directly to an action.

Upvotes: 2

lmondria
lmondria

Reputation: 244

You could use css to remove the underlines or place a backgroundimage, otherwise you could also just create the link like so:

<a href="<%: Url.Action("Action", "Controller")%>"><img src="yourimg.jpg" /></a>

Upvotes: 17

Related Questions