вызов функции javascript для ссылки ajax.action - PullRequest
2 голосов
/ 01 октября 2010

У меня есть следующая ссылка ajax.action. Я хочу добавить событие клика к этой ссылке. Как я могу это сделать

<%= Ajax.ActionLink("text", "textaction", new { param = 1}, new AjaxOptions
                            {                                   
                                OnSuccess = "updatePlaceholder",                                
                                UpdateTargetId = "result"
                            })%>

Ответы [ 2 ]

5 голосов
/ 01 октября 2010

Обработчик события click уже добавлен в эту ссылку, потому что вы используете вспомогательный метод Ajax.ActionLink.Этот обработчик события click отменит действие по умолчанию и отправит запрос AJAX по адресу, на который указывает эта ссылка.Вы можете попробовать установить параметр OnBegin .

И если вы используете jquery в своем проекте, у вас может быть ссылка normal (без добавления всего кода javascript в разметкуAjax.ActionLink помощник):

<%= Html.ActionLink(
    "text", 
    "textaction",
    new { param = 1 },
    new { id = "mylink" })
%>

и затем в отдельном файле javascript присоедините обработчик события click:

$(function() {
    $('#mylink').click(function() {
        // here you could execute some custom code
        // before sending the AJAX request
        $('#result').load(this.href, function() {
            // success function
        });
        return false;
    });
});

Таким образом будет достигнуто четкое разделение между вашей разметкой и javascriptфайлы.Поскольку javascript будет находиться в отдельных файлах, которые будут кэшироваться браузером клиента, вы уменьшите пропускную способность.

0 голосов
/ 26 мая 2015

Вам необходимо изменить код:

$ ('# mylink'). Click (function (e) { e.preventDefault (); .... делай что хочешь

...