如何从@ Html.ActionLink()在控制器中执行角度函数?

时间:2016-02-24 05:34:36

标签: angularjs asp.net-mvc asp.net-mvc-4

在我看来,我有以下actionlink

@Html.ActionLink("Edit", "Edit", new {click="TestFunction()"})

而不是调用js函数我需要在Angular控制器的$ scope中调用一个函数。假设上面的TestFunction()位于$scope,那么我需要使用ng-click代替click。但是.net不会让我使用ng-click作为匿名属性来重写

@Html.ActionLink("Edit", "Edit", new {ng-click="TestFunction()"})

是不可能的,那么如何将角度控制器中的函数TestFunction()添加到actionlink

1 个答案:

答案 0 :(得分:0)

@Html.ActionLink是用于在HTML页面上生成链接的服务器端MVC实现。

onclick是javascript实现,用于生成DOM中提供的点击事件和调用函数,如html中所述。

ng-click是有角度的dir。如html中所述,在$ scope下生成click事件和调用函数的实现。

    for razor-c# , ng-click is an invalid syntax you should use ng_click
  to create angular click event for ActionLink Only.

如果您正在构建一个不涉及服务器内容的链接,并且您正在构建使用AngularJS的应用程序,我建议您使用html a标记。

<a href="javascript:void(0);" ng-click="...">

如果您无论如何需要服务器实现,请创建返回html的部分视图(使用您想要使用的actionlinks)并使用angular指令放置在DOM中。

希望这会有所帮助......