Вопрос по ajax, asp.net-mvc-3 – Ajax.ActionLink (…) с флажком

2
Ajax.ActionLink("Link name",....)

можно установить флажок вместо «Имя ссылки». ?

если так как?

Спасибо,

Ваш Ответ

1   ответ
3

Да, конечно, это возможно. Вы можете использовать стандартный флажок:

@Html.CheckBoxFor(
    x => x.Foo, 
    new { 
        data_url = Url.Action("SomeAction", "SomeController"), 
        id = "mycheckbox" 
    }
)

а затем в своем отдельном файле JavaScript используйте jQuery, чтобы подписаться на событие изменения этого флажка и ненавязчиво AJAXify его:

$(function() {
    $('#mycheckbox').change(function() {
        var data = {};
        data[$(this).attr('name')] = $(this).is(':checked');

        $.ajax({
            url: $(this).data('url'),
            type: 'POST',
            data: data,
            success: function(result) {
                // TODO: do something with the result    
            }
        });
    });
});
Это работает? Или долженdata_url на самом деле бытьdata-url?
большое спасибо вам, Victor
Да, это работает. Вы не можете иметь свойство в .NET под названиемdata-url, Помощники в ASP.NET MVC достаточно умны, чтобы интерпретироватьdata_url какdata-url атрибут при создании разметки. Это соглашение.

Похожие вопросы