MVC3 Запустить несколько функций в событии ActionLink OnComplete? - PullRequest
3 голосов
/ 28 февраля 2012

Как вызвать несколько функций на событие OnComplete в MVC3 ActionLink:

 OnComplete = "function() { one(); two(); }"

это, у меня не работает? Есть идеи?

Ответы [ 3 ]

2 голосов
/ 28 февраля 2012

Как насчет сопоставления его функции:

...{ OnComplete = "Completed" }...

<script>
  function Completed(){
    one();
    two();
  }
</script>

MVC ищет имя функции, а не строку кода для выполнения.

2 голосов
/ 28 февраля 2012

Если вы хотите выполнить JavaScript для ActionLink(), вы сделаете следующее:

@Html.ActionLink("YourAction", null, new { onclick = "function() { one(); two(); }" })

Но если вы действительно хотите выполнить что-то после завершения метода Action,вам нужно написать свой собственный ActionFilter:

public class ActionExecutionFinal : ActionFilterAttribute
{
    public override void OnResultExecuted(ResultExecutedContext filterContext)
    {
        // do something here
    }
}

И вы примените это к вашему методу Action следующим образом:

[ActionExecutionFinal]
public ActionResult YourActionMethod()
{
    return View();
}
1 голос
/ 28 февраля 2012

Что делать, если вам нравится

View

OnComplete = "a"

JavaScript

function a()
{
    b();
    c();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...