У меня есть страница aspx (webforms), которая вызывается из метода jQuery Post (который отлично работает), однако метод Response.Redirect из кода позади не перезагружать браузер с перенаправленным URL. Однако он действительно попадает в URL. Я уверен, что это связано с тем, что страница вызывается из jQuery, но не уверен, почему это поведение происходит.asp.net response.redirect удаляет URL-адрес, но не меняет страницу браузера
protected void Page_Load(object sender, System.EventArgs e)
{
if (!Page.IsPostBack)
{
//lid = Validation.StripToGUID(ObjToGUID(Request.QueryString("lid")))
lid = Validation.StripToGUID(ObjToGUID(Request.Form["lid"]));
string sid = null;
if (lid.Length == 36)
{
//retrieve the link (and product data) from the database
LiveItem_Data.DBConnStr = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
LiveItem o = new LiveItem();
o = LiveItem_Data.GetLive_ItemFromLID(lid);
if (HTTPStuff.RemoteFileExists(o.product_link))
{
Response.Redirect(o.product_link, true);
}
else
{
//generate an error
}
}
}
}
я вышел через код и product_link работает (вручную вырезания и вставки в браузер), и удаленная страница вызывается (я проверяю ссылку с другим сайтом, который имеет регистрацию). Браузер однако не открывает (пробовал FF, IE, Opera, Chrome) новый URL.
Сообщение JQuery:
$('.popInfoHG').click(function() {
var ListID = $(this).parent().find('[id*=hidlid]').val();
$.post("redir.aspx", { lid: ListID });
});
Я проверил, что HTTPredirect функция включена в IIS Express (с Visual Studio 2012). Тупик!
Почему вы сохранили 'true' для' Response.Redirect (o.product_link, true); ' –
Чтобы завершить ответ, но false также не работает. – MC9000