Использование Ajax в .Net MVC 2 - PullRequest
0 голосов
/ 16 июня 2011

Хорошо, сейчас я пытаюсь вызвать функцию Ajax из обычной текстовой ссылки, однако не могу заставить ее работать должным образом (или вообще не работать).Если я назову его кнопкой, он будет работать нормально.

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

как я могу вызвать Ajax из ActionLink или Ajax?

Вот скрипт, который отлично работает при вызове с кнопки:

<script type="text/javascript">

        $(document).ready(function() {

            $(".Name").click(function() {
                $.ajax({
                    url: '<%= Url.Action("MyAction") %>',
                    dataType: 'html',
                    success: function(result) { $("#tableToUpdate").html(result); }
                });
            });
        });
</script>

Ответы [ 2 ]

4 голосов
/ 16 июня 2011

Необходимо отменить действие привязки по умолчанию, вернув false из обработчика щелчка;

$(".Name").click(function() {
    $.ajax({
        url: '<%= Url.Action("MyAction") %>',
        dataType: 'html',
        success: function(result) { 
            $("#tableToUpdate").html(result); 
        }
    });
    return false; // <-- that's important
});

Но я бы, вероятно, напрямую использовал бы ссылку на ссылку:

<%= Html.ActionLink("Foo", "MyAction", null, new { @class = "Name" }) %>

который я бы ненавязчиво AJAXify в отдельном файле javascript (прогрессивное улучшение):

$(function() {
    $('.Name').click(function() {
        $('#tableToUpdate').load(this.href);
        return false;
    });
});
1 голос
/ 16 июня 2011

Вы смотрели на ссылку ajax.action

<%= Ajax.ActionLink("Update Status", "GetStatus", new AjaxOptions{UpdateTargetId="status" }) %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...