ASP.NET MVC Урок 1-F / ASP.NET MVC Урок 7
.pdf`
`
`
IXQFWLRQ VKRZ0RGDO'DWDGDWD FDOOEDFN ^
PRGDO EDFNGURSUHPRYH
YDUSRSXS:UDSSHU 3RSXS:UDSSHU
SRSXS:UDSSHU HPSW\
SRSXS:UDSSHU KWPO GDWD
YDUSRSXS PRGDOSRSXS:UDSSHU
PRGDOSRSXS:UDSSHU PRGDO
LIFDOOEDFN XQGHILQHG^
FDOOEDFN SRSXS
`
`
Обратите внимание на рекурсивный вызов LQLW/RJLQ3RSXS. И тут заключается дилемма. Так как при удачном входе нам не надо чтобы в PopupWrapper грузилась новая страница (или страница с ошибкой), а только чтобы страница обновилась.
Для этого сделаем хитрость. В /Areas/Default/Views/Shared/ добавим _Ok.cshtml, суть которого — перезагружать страницу:
VFULSW!
ZLQGRZORFDWLRQ UHORDG
VFULSW!
При удачном входе мы загружаем этот View. При добавлении в дерево DOM в строке
SRSXS:UDSSHU KWPO GDWD
скрипт запустится и перезагрузит страницу, не дожидаясь остальных вызовов. Изменим контроллер (/Areas/Default/Controllers/LoginController.cs):
YDUXVHU $XWK /RJLQ ORJLQ9LHZ (PDLO ORJLQ9LHZ 3DVVZRUG ORJLQ9LHZ ,V3HUVLVWHQW LIXVHU QXOO
^
UHWXUQ9LHZB2N
`
Проверяем, работает!
Итог
Мы рассмотрели основные принципы верстки и клиентской части, но это лишь малая толика того, что вообще можно знать о верстке, стилях и программировании в клиентской части.
Мы научились пользоваться отладчиком в Chrome и создавать ajax запрос. Подробнее рассмотрите этот вопрос в дальнейшем.
Полезные ссылки: http://jquery.com http://habrahabr.ru/post/161895/ http://habrahabr.ru/post/154687/ http://twitter.github.com/bootstrap/ http://habrahabr.ru/post/160177/
Все исходники находятся по адресу https://bitbucket.org/chernikov/lessons