繁体   English   中英

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

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

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

我想调用一个在 java 脚本中的方法,但如何在同一页面的 html.actionlink 中调用它,在此先感谢

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

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

你也可以用 jquery/whatever 给它一个 id 附加到它,像这样:

<%= 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 中没有什么可以使用的了。 剃刀本身就是 evel,从你可以的地方扔掉它。

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

这是一篇旧帖子,但实际上有一种方法可以执行调用函数的 onclick 运算符,而不是在 ASP.NET 中的任何地方

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 文件中唯一对我有用的:

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

我希望这有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM