ASP.NET MVC - AjaxContext - PullRequest
       18

ASP.NET MVC - AjaxContext

1 голос
/ 22 июня 2009

Я пытался проверить AjaxContext, который ASP.NET-MVC использует, например, для Ajax Actionlinks и их onSucces, onComplete и т. Д. На стороне клиента. Но я не очень разбираюсь в этом ... Где документация по этому поводу?

Кто-нибудь знает, как получить 'target' или 'srcElement' (e.target или window.event.srcElement), когда я нахожусь в событии onSuccess или onComplete javascript?

<%=Ajax.ActionLink(
"LinkText", "Action", New With {.Controller = "ControllerName"}, 
New AjaxOptions With {
    .UpdateTargetId = "divElement", 
    .OnSuccess = "function(ajaxContext) {console.log(ajaxContext);}"
}) %>

Что приводит к:

<a 
    href="/Popout/ApplicationCodePopout"
    onclick="Sys.Mvc.AsyncHyperlink.handleClick(
        this, new Sys.UI.DomEvent(event), 
        { 
            insertionMode: Sys.Mvc.InsertionMode.replace, 
            updateTargetId: 'divElement', 
            onSuccess: Function.createDelegate(this, 
                function(ajaxContext) {console.log(ajaxContext);}
            )
        }
    );"
>LinkText</a>

Ответы [ 3 ]

3 голосов
/ 22 июня 2009

Вы можете изменить метод onSuccess следующим образом:

<%=Ajax.ActionLink(
"LinkText", "Action", New With {.Controller = "ControllerName"}, 
New AjaxOptions With {
    .UpdateTargetId = "divElement", 
    .OnSuccess = "function(ajaxContext) {debugger;}"
}) %>

( Обратите внимание на ключевое слово отладчика )

Затем вы можете взломать его с помощью VS2008 (при условии, что IE, если вы используете Firefox, затем установить Firebug , как сказал Джейк), а затем вы можете использовать окно быстрого просмотра (в VS или эквивалентном в Firebug и т. Д.) Для просмотра объекта и его свойств / методов и т. Д.

Что касается документации, проверьте эту ссылку, чтобы увидеть комментарии к коду, и эту статью для получения дополнительной информации.

1 голос
/ 22 июня 2009

Хорошо, вам нужно установить Firebug (Если вы еще этого не сделали, сделайте это сейчас :) Теперь начните использовать console.log в своем коде, чтобы помочь вам выяснить, что свойства и функции, доступные каждому объекту. Попробуйте набрать в console.log (document) - Вы можете сделать это в окне консоли в текстовом поле (рядом с >>>). Обратите внимание на то, как вы можете нажимать на ссылки в консоли, чтобы просмотреть и узнать, какие свойства и функции доступны для объекта.

0 голосов
/ 22 июня 2009

Я бы также рекомендовал прочитать jQuery в действии . Одна из лучших технических книг, которые я когда-либо читал! Как только вы прочитаете, вы сможете начать писать свой собственный код jQuery, и вам не придется беспокоиться об использовании библиотеки-оболочки на стороне сервера, которая выдает вам JavaScript:)

Проверьте это http://www.scribd.com/doc/8635225/jQuery-in-Action

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...