Вопрос

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

<%= Ajax.ActionLink("text", "textaction", new { param = 1}, new AjaxOptions
                            {                                   
                                OnSuccess = "updatePlaceholder",                                
                                UpdateTargetId = "result"
                            })%>
Это было полезно?

Решение

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

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

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

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

$(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 будет храниться в отдельных файлах, которые будут кэшироваться клиентским браузером, вы уменьшите пропускную способность.

Другие советы

Вам нужно изменить код:

$ ('# myLink'). Нажмите (функция (e) {e.preventdefault (); .... делать то, что вы хотите

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top