如何在asp.net mvc中的html.actionlink中调用javascript函数?
我想调用java脚本中的一个方法但是如何在同一页面的html.actionlink中调用它 提前谢谢
答案 0 :(得分:57)
你需要使用htmlAttributes匿名对象,如下所示:
<%= Html.ActionLink("linky", "action", "controller", new { onclick = "someFunction();"}) %>
你也可以用jquery / what给它一个id附加到它上面,像这样:
<%= Html.ActionLink("linky", "action", "controller", new { id = "myLink" }) %>
$('#myLink').click(function() { /* bla */ });
答案 1 :(得分:22)
要在您的操作链接中调用javascript,您只需编写这样的actionlink:
@Html.ActionLink("Delete", "Your-Action", new { id = item.id },
new { onclick="return confirm('Are you sure?');"})
不要在路线值和html属性之间混淆。
答案 2 :(得分:8)
<a onclick="MyFunc()">blabla..</a>
在这种情况下,您可以使用@ Html.ActionLink中的其他内容。 而且剃刀本身就是它,从你可以的地方掉下来。
答案 3 :(得分:5)
@Html.ActionLink("Edit","ActionName",new{id=item.id},new{onclick="functionname();"})
答案 4 :(得分:1)
这是我在.cshtml文件中唯一有效的方法:
@Html.ActionLink(
"Name",
"Action",
"Controller",
routeValues: null,
htmlAttributes:new Dictionary<string, object> {{ "onclick", "alert('Test');" }})
我希望这会有所帮助。
答案 5 :(得分:0)
这是一个很老的帖子,但实际上有一种方法可以做一个调用函数的onclick运算符,而不是去ASP.NET中的任何地方
helper.ActionLink("Choose", null, null, null,
new {@onclick = "Locations.Choose(" + location.Id + ")", @href="#"})
如果您在控制器/操作中指定空引号等,它可能会添加指向您列出的内容的链接。你可以这样做,并在onclick中返回false。您可以在以下网址阅读更多相关信息:
What's the effect of adding 'return false' to a click event listener?
如果您正在cshtml文件中执行此操作,那么只需自己指定链接(一个href ...)就可以了,而不是让ActionLink处理它。如果你正在做一个HtmlHelper,就像我上面的例子来自,那么我认为调用ActionLink是一个好的解决方案,或者可能更好,就是使用tagbuilder。