MS MVC формирует [закрытые] методы AJAXifying

Проверьте это. Это пользовательская строка dialog_row.xml, которую вы должны использовать в CustomAdapter:

    
    

    
    

Затем в методе onclick:

@Override
public void onClick(View arg0) {

    // custom dialog
    final Dialog dialog = new Dialog(context);
    dialog.setContentView(R.layout.custom_layout); //Your custom layout
    dialog.setTitle("Title...");


    Listview listview= (ListView) dialog.findViewById(R.id.listview);

    CustomAdapter adapter=new CustomAdapter(context,your_list);
    listview.setadapter(adapter);
    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView parent, View view, int position, long id) {
        //Do something

        }
    });

    dialog.show();
}

Ссылка на учебное пособие

12
задан Arnis Lapsa 30 May 2009 в 16:40
поделиться

3 ответа

Вот мое решение (я думаю, что это решение Progressive Enhancement ), использующее только jQuery без каких-либо плагинов:

var form = $('form#YourFormId');
$(':submit', form).click(function (event) {
    event.preventDefault();
    $.post(form.attr('action'), form.serialize(),
        function(data, status) {
            if(status == 'success') {
                // your code here
            }
        }
    );
});

ОБНОВЛЕНО:

Если ваш POST-ответ - «HTML с формой», попробуйте следующее:

function ajaxifyForm(form) {
    $(':submit', form).click(function (event) {
        event.preventDefault();
        $.post(form.attr('action'), form.serialize(),
            function(data, status) {
                if(status == 'success') {
                    var newForm = $(data);
                    ajaxifyForm(newForm);
                    form.after(newForm).remove();
                }
            }
        );
    });
}
12
ответ дан 2 December 2019 в 19:32
поделиться

Ajaxify ваши формы ... это довольно расплывчато.

Если вы хотите отправить форму асинхронно, вы можете использовать $ .post () для отправки в отдельное действие контроллера.

Пример:

В представлении:

$.post('<%= Url.Action("DoAjaxCall") %>', $('form').serialize(), 
function (data) {
    alert(data.Message);
}
, "json");

В вашем контроллере:

public ActionResult DoAjaxCall(YourModel model)
{
    return Json(new { Message = "Your ajax call is working!" });
}

Это то, что я использую, по крайней мере, в некоторых из моих форм.

PS: Я написал это в текстовом редакторе stackoverflow, поэтому на самом деле он не тестировался. Но в качестве наброска он должен работать.

6
ответ дан 2 December 2019 в 19:32
поделиться

Оформить заказ Хранилище плагинов JQuery Я уверен, что там вы найдете то, что вам нужно

0
ответ дан 2 December 2019 в 19:32
поделиться
Другие вопросы по тегам:

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