Использование Facebox с .NET (веб-формами) является болезненным - этот сайт в первую очередь HTML был разработан кем-то другим.У меня могут быть проблемы с IIS (7.5).Это всплывающее окно Facebox находится в отдельном файле, login.html, который вызывается из index.html:
$k('a[rel*=example_2]').facebox_1({
loading_image : '/images/loading.gif',
close_image : '/images/closelabel.gif'
});
и ссылки для его открытия
<a href="login.html" title="Log In" rel="example_2" id='login'>Log In </a>
Форма дляотправить с именем пользователя и паролем (login.html):
<form name="login" method="post" action="#" onsubmit="return false;">
и после проверки (это работает) отправляет сообщение на login.aspx (login.html):
$('form[name="login"]').submit(function () {
var $loginForm = $('form[name="login"]');
if ($loginForm.valid()) {
$.post("Login.aspx", $(this).serialize());
} else {
$loginForm.validate();
}
});
Форма сообщений.Я могу отладить его в Visual Studio в методе Page_Load файла login.aspx.Последняя строка метода Page_Load:
Response.Redirect("welcomepage.html");
Но всплывающее окно Facebox остается.Firebug показывает сообщение, он попадает в метод Page_Load файла login.aspx, и всплывающее окно Facebox никуда не денется. НО, Firebug показывает welcomepage.html, отображаемый дважды на вкладке Response запроса XHR (да? Почему XHR?).Я думал, что $ .post сделал регулярную обратную передачу.И почему мой браузер фактически не перенаправляет.
Попытка исправить
Если я изменю форму в файле login.html на action='login.aspx'
, я получу метод ошибки 405.0не разрешено (, но он пытается опубликовать в index.html, HUH? ).И я не могу понять, как это исправить в IIS 7.5 в Windows 7. Я получаю эту ошибку в Visual Studio и при локальном развертывании в IIS.Я читал, что это может быть связано с отображением сценариев, обработчиками или тем фактом, что я публикую сообщения из, но я не могу найти достаточного решения.Есть идеи здесь?Если я смогу определить перенаправление Facebox, мне может не понадобиться это исправление.