Я думал, что это должно быть довольно хорошо задокументировано, потому что это похоже на довольно распространенный сценарий. К сожалению, я нахожу много противоречивой информации и никакого реального консенсуса по поводу правильного пути решения этой проблемы в MVC 3-совместимом, ненавязчивом виде Ajax. Я, конечно, могу взломать что-то, что «работает», но я бы предпочел сделать это так, как это должно быть сделано с помощью фреймворка.
Вот что мне нужно. У меня есть ссылка для входа в правом верхнем углу сайта. Сайт позволяет как аутентифицированным, так и не аутентифицированным пользователям. Итак, я хочу иметь динамическое всплывающее окно ajax, когда пользователь нажимает на ссылку входа в систему.
Это должно выйти на контроллер и вернуть HTML-код для входа в систему. Затем он должен отображаться во всплывающем диалоговом окне «jquery ui», а когда пользователи вводят свои данные, он должен перенаправить их на страницу «Панель инструментов» (независимо от того, на какой странице они находятся в данный момент). Если они вводят неверные учетные данные, они должны оставаться на текущей странице с открытым всплывающим диалоговым окном и отображать ошибки проверки («неверное имя пользователя или пароль»).
Другими словами, он должен быть привязан к ненавязчивой валидации mvc 3, использовать ненавязчивый ajax и отображать вещи в диалоге пользовательского интерфейса jquery.
Это кажется менее тривиальным, чем я думал. Любые указатели на пример, который делает это? У кого-нибудь есть образец, которым они могут поделиться?
UPDATE:
Общепринято, что если вам нужно перенаправить, не делайте это Ajax. Тем не менее, в этом случае требуется Ajax, потому что мне нужно проверить кредитные сообщения и опубликовать ошибки проверки, не вызывая обновления страницы или перенаправления на другую страницу входа. Мне нужно, чтобы аутентификация прошла и опубликовала ошибки во всплывающем диалоговом окне.