how to call javascript function in html.actionlink in asp.net mvc?
如何在ASP.NET MVC的html.actionlink中调用javascript函数?
我想调用Java脚本中的一种方法,但是如何在同一页面的html.actionlink中调用它
提前致谢
您需要使用htmlAttributes匿名对象,如下所示:
1 | <%= Html.ActionLink("linky","action","controller", new { onclick ="someFunction();"}) %> |
您还可以使用jquery /其他方式为其附加一个ID,如下所示:
1 2 3 4 | <%= Html.ActionLink("linky","action","controller", new { id ="myLink" }) %> $('#myLink').click(function() { /* bla */ }); |
为了在动作链接中调用javascript,您只需要编写如下的actionlink:
1 2 | @Html.ActionLink("Delete","Your-Action", new { id = item.id }, new { onclick="return confirm('Are you sure?');"}) |
不要混淆路由值和html属性。
1 | blabla.. |
在这种情况下,您可以利用@ Html.ActionLink中的更多内容。
剃须刀本身就是一个边缘,将其从您可以的地方放下。
1 | @Html.ActionLink("Edit","ActionName",new{id=item.id},new{onclick="functionname();"}) |
这是一个旧文章,但是实际上有一种方法可以执行一个onclick运算符来调用一个函数,而不是在ASP.NET中的任何地方
1 2 | helper.ActionLink("Choose", null, null, null, new {@onclick ="Locations.Choose(" + location.Id +")", @href="#"}) |
如果您在控制器/操作中指定了空引号或类似内容,则可能会向您列出的内容添加一个链接。您可以这样做,并在onclick中返回false。您可以在以下位置了解更多信息:
向点击事件侦听器添加return false有什么作用?
如果要在cshtml文件中执行onclick,则直接指定链接(a href ...)而不是由ActionLink处理该链接会更干净一些。如果您正在使用HtmlHelper(例如上面的示例),那么我认为调用ActionLink是一个好的解决方案,或者可能会更好,而是使用tagbuilder。
这是.cshtml文件中唯一对我有用的文件:
1 2 3 4 5 6 | @Html.ActionLink( "Name", "Action", "Controller", routeValues: null, htmlAttributes:new Dictionary<string, object> {{"onclick",";" }}) |
我希望这有帮助。