2016-02-24 2 views
0

На мой взгляд, я бы следующее actionlinkКак выполнить угловую функцию в контроллере, используя @ Html.ActionLink()?

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

вместо вызова функции JS мне нужно вызвать функцию в $ объеме углового контроллера. Предположим, что выше TestFunction() находится в $scope, тогда мне нужно использовать ng-click вместо click. Но .net обыкновение позвольте мне использовать ng-click, как анонимную свойство так переписывания

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

не представляется возможным, так как я добавить функцию TestFunction() в угловом контроллера к actionlink

+2

Если вы хотите добавить атрибут 'нг-click' то он должен быть' нового {ng_click = «функция тест()»} '(символ подчеркивания, а не дефис) - движок бритвы преобразует его в дефис –

+0

@StephenMuecke - это способ привязать клик к ссылке действия? – zeelong

+0

Для не углового (ваш первый фрагмент кода), затем нет. Используйте [ненавязчивый JavaScript] (https://en.wikipedia.org/wiki/Unobtrusive_JavaScript). Для углового я понятия не имею (я его не использую) –

ответ

0

@Html.ActionLink является реализация на стороне сервера MVC для создания Ссылка на вашу HTML-страницу.

onclick - это javascript implementaiton для генерации функции click и функции вызова, доступной в DOM, как указано в html.

ng-click - угловой реж. для генерации события click и функции вызова в $ scope, как указано в html.

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="..."> 

Если вы в любом случае необходимо выполнение сервера, создать частичный вид (с actionlinks вы хотите использовать), которая возвращает HTML и использовать угловую директиву, чтобы поместить в вашем DOM.

Надеется, что это помогает ...

Смежные вопросы