如何在mvc中调用html.actionlink中的javascript函数asp.net?

jv2fixgn  于 2022-12-24  发布在  .NET
关注(0)|答案(6)|浏览(130)

如何在www.example.com mvc的html.actionlink中调用javascript函数asp.net?
我想调用一个方法,它在JavaScript中,但是我如何在同一页面的html.actionlink中调用它呢?

yjghlzjz

yjghlzjz1#

你需要使用htmlAttributes匿名对象,如下所示:

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

你也可以给予它一个id,然后用jquery/whatever连接到它,就像这样:

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

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

qyzbxkaa2#

要在action链接中调用javascript,你只需要像这样编写actionlink:

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

不要混淆路由值和html属性。

kqlmhetl

kqlmhetl3#

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

在这种情况下,@Html.ActionLink中没有更多的东西可以利用。而且剃须刀本身就是水平的,把它放在你能放的地方。

pvcm50d1

pvcm50d14#

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

6ojccjat5#

这是一篇有点老的文章,但实际上有一种方法可以执行onclick操作符,该操作符调用函数而不是在ASP.NET中执行任何操作

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

如果你在控制器/动作中指定了空引号或类似的东西,它可能会添加一个链接到你列出的内容。你可以这样做,并在onclick中返回false。你可以阅读更多关于这方面的内容:
在click事件侦听器中添加'return false'有什么效果?
如果你在cshtml文件中执行onclick操作,那么你自己指定链接(a href...),而不是让ActionLink来处理它,这会更简洁一些;如果你使用HtmlHelper,就像我上面的例子,那么我认为调用ActionLink是一个不错的解决方案,或者更好的方法是使用tagbuilder。

wz1wpwve

wz1wpwve6#

这是唯一一个为我工作的. cshtml文件:

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

希望这能帮上忙。

相关问题