如何在ASP.NET MVC中的html.actionlink中调用JavaScript函数?
我想要调用一个JavaScript函数,但是该如何在同一页面的html.actionlink中调用它呢?
如何在ASP.NET MVC中的html.actionlink中调用JavaScript函数?
我想要调用一个JavaScript函数,但是该如何在同一页面的html.actionlink中调用它呢?
你需要使用htmlAttributes匿名对象,例如:
<%= Html.ActionLink("linky", "action", "controller", new { onclick = "someFunction();"}) %>
你也可以给它一个ID并使用jQuery或其他方法将其附加上去,例如:
<%= Html.ActionLink("linky", "action", "controller", new { id = "myLink" }) %>
$('#myLink').click(function() { /* bla */ });
要在你的操作链接中调用JavaScript,你只需要像这样编写actionlink:
@Html.ActionLink("Delete", "Your-Action", new { id = item.id },
new { onclick="return confirm('Are you sure?');"})
不要混淆路由值和HTML属性。
<a onclick="MyFunc()">blabla..</a>
在这种情况下,@Html.ActionLink中没有更多可用的内容。Razor本身就足够强大,可以从你能够的地方删除它。
@Html.ActionLink("Edit","ActionName",new{id=item.id},new{onclick="functionname();"})
这是一个有些陈旧的帖子,但实际上在ASP.NET中有一种方法可以使用onclick运算符调用函数而不是跳转到其他地方。
helper.ActionLink("Choose", null, null, null,
new {@onclick = "Locations.Choose(" + location.Id + ")", @href="#"})
这是我在.cshtml文件中唯一有效的方法:
@Html.ActionLink(
"Name",
"Action",
"Controller",
routeValues: null,
htmlAttributes:new Dictionary<string, object> {{ "onclick", "alert('Test');" }})