how to call javascript function in html.actionlink in asp.net mvc?

how to call javascript function in html.actionlink in asp.net mvc?

i wan to call one method which is in java script but how to call it within html.actionlink in same page
thanks in advance

Answers:

Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.

Method 1

you need to use the htmlAttributes anonymous object, like this:

<%= Html.ActionLink("linky", "action", "controller", new { onclick = "someFunction();"}) %>

you could also give it an id an attach to it with jquery/whatever, like this:

<%= Html.ActionLink("linky", "action", "controller", new { id = "myLink" }) %>


$('#myLink').click(function() { /* bla */ });

Method 2

For calling javascript in your action link you simply need to write actionlink like this:

@Html.ActionLink("Delete", "Your-Action", new { id = item.id },
                 new { onclick="return confirm('Are you sure?');"})

Don’t get confused between route values and the html attributes.

Method 3

<a onclick="MyFunc()">blabla..</a>

There is nothing more in @Html.ActionLink that you could utilize in this case.
And razor is evel by itself, drop it from where you can.

Method 4

@Html.ActionLink("Edit","ActionName",new{id=item.id},new{onclick="functionname();"})

Method 5

This is a bit of an old post, but there is actually a way to do an onclick operator that calls a function instead of going anywhere in ASP.NET

helper.ActionLink("Choose", null, null, null, 
    new {@onclick = "Locations.Choose(" + location.Id + ")", @href="#" rel="nofollow noreferrer noopener"})

If you specify empty quotes or the like in the controller/action, it’ll likely add a link to what you listed. You can do that, and do a return false in the onclick. You can read more about that at:

What’s the effect of adding ‘return false’ to a click event listener?

If you’re doing this onclick in an cshtml file, it’d be a bit cleaner to just specify the link yourself (a href…) instead of having the ActionLink handle it. If you’re doing an HtmlHelper, like my example above is coming from, then I’d argue that calling ActionLink is an okay solution, or potentially better, is to use tagbuilder instead.

Method 6

This is the only one that worked for me in .cshtml file:

@Html.ActionLink(
   "Name", 
   "Action", 
   "Controller", 
   routeValues: null, 
   htmlAttributes:new Dictionary<string, object> {{ "onclick", "alert('Test');" }})

I hope this helps.


All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x