Как мне сделать кросс-постбэк от codebehind?

Я хочу сделать что-то похожее на то, что происходит, когда вы нажимаете кнопку asp.net с установленным PostBackURL. я пробовал Server.Transfer но URL не меняется (это то, что я хочу). Есть ли лучший способ сделать это, или в качестве альтернативы есть способ заставить Server.Transfer отображать правильный URL-адрес?

2 ответа

Решение

Пытаться Response.Redirect

ОБНОВИТЬ:

Боюсь, ты не сможешь сделать должный постбэк из кодового кода, насколько мне известно

Увидеть:

Размещение нескольких страниц на веб-страницах ASP.NET

Как разместить веб-страницы ASP.NET на другой странице

asp:Button 
  ID="Button1" 
  PostBackUrl="~/TargetPage.aspx"
  runat="server"
  Text="Submit" />

Изменить: Вы также можете создать HTTP POST в коде позади и отправить его на целевую страницу, а затем записать ответ в браузер. Это не изменит URL в адресной строке браузера на фактическую страницу, на которую были помещены данные. Что вы можете сделать, зависит от того, какой контроль вы имеете. Является ли страница, которая размещена, под вашим контролем? Содержит ли он какой-либо текст / данные, относящиеся к тому, что размещено на нем? Вы можете выполнить POST, а затем перенаправить / перенести на целевую страницу, но это может или не может правильно отобразить результат POST.

Использование HttpWebRequest для отправки POST-запроса на другой веб-сервер может помочь, если вы решите пойти по этому пути.

Другие вопросы по тегам