Как показать Messagebox из контроллера MVC

кто-нибудь может рассказать о показе окна сообщения от контроллера MVC? Сценарий таков: я хочу показать окно сообщения с кнопками «Да/Нет». При нажатии «Да» я хочу показать окно подтверждения. Я хочу сделать это с помощью контроллера MVC? Как я могу это сделать?

Заранее спасибо, Капс


person Jaqen H'ghar    schedule 05.02.2010    source источник


Ответы (4)


if (confirm('Are you sure?'))
{
$.post("Confirmation", {myresponse: 'yes'}, function(data)
{
$.("#mymodal").html(data);
}
}

Таким образом, он обращается к методу действия и сообщает ему, что было сделано подтверждение «да», и метод действия может отправить обратно HTML-разметку.

person Al Katawazi    schedule 17.02.2010

Вы говорите об окне сообщения клиента? Если это так, попробуйте использовать диалоговое окно подтверждения JavaScript.

if (confirm('Are you sure?')){}
person Fitzchak Yitzchaki    schedule 05.02.2010
comment
Я хочу показать окно сообщения клиента, но я хочу показать его из метода действия контроллера. - person Jaqen H'ghar; 05.02.2010
comment
Для того, чтобы клиент увидел диалог, нужно отправить ему этот код. ‹i›правильное‹/i› место для этого — вид. но, конечно, вы можете передать этот код в представление из метода действия. - person Fitzchak Yitzchaki; 05.02.2010

Метод действия контроллера обычно не контролирует то, что визуализирует представление, а просто указывает, какое представление отображать (т.е. возвращать this.View("MyView")) и данные, которые представление должно использовать для рендеринга, если это необходимо.

Вы можете использовать JavaScriptResult, однако вы несколько нарушаете разделение задач, Контроллер должен указывать, какое представление отображать, а не то, что содержит представление.

Вот хорошая статья о JavaScriptResult и о том, почему это плохая идея: http://devlicio.us/blogs/billy_mccafferty/archive/2009/02/07/beware-of-asp-net-mvc-javascriptresult.aspx

person James Webster    schedule 05.02.2010

Я думаю, вы хотите сделать что-то вроде этого:

http://net.tutsplus.com/tutorials/javascript-ajax/5-ways-to-make-ajax-calls-with-jquery/

На стороне контроллера вы хотите, чтобы метод возвращал json.

person Tengiz    schedule 05.02.2010