jQuery диалог модальной формы это ваш путь сюда. Я сделал тестовое приложение, делая то, что вы хотели с ним, и оно работало хорошо.
Разметка для вашей страницы ASPX:
<div id="dialog" title="Please Login">
<asp:Login ID="login" runat="server" />
</div>
Javascript, необходимый для страницы:
$(document).ready(function() {
$("#dialog").dialog({
bgiframe: true,
autoOpen: false,
height: 300,
modal: true,
buttons: {
Cancel: function() {
$(this).dialog("close");
}
},
close: function() {
allFields.val("").removeClass("ui-state-error");
}
});
var isAuthenticated = $("#isAuthenticated").val();
if (isAuthenticated && isAuthenticated == "false") {
// Display the modal dialog.
$("#dialog").dialog("open");
}});
Код, который я использовал на странице aspx:
ClientScript.RegisterHiddenField("isAuthenticated", "false");
Вы бы указали значение true или false, в зависимости от того, был ли пользователь аутентифицирован, поэтому javascript будет знать, отображать логин или нет.
Теперь о безопасности. Вход в систему не будет выполнен javascript, потому что пользователь нажмет кнопку на этой странице входа и отправит сообщение обратно на сервер, как обычно. Если вы хотите использовать ajax, вам нужно проверить метод jQuery $. Ajax .