Я отправляю значения с веб-сайта ASP.NET на совершенно другой сайт (фактически, Paypal). Я выполняю это, возвращая страницу пользователю, на котором записаны все скрытые входные данные формы, а затем функцию Javascript, которая автоматически отправляет форму.
Предполагается, что процесс будет беспроблемным, но пустая страница заметна в течение пары секунд, в течение которых он появляется. Предполагается, что пользователи просто нажимают кнопку на странице ASP.NET, а затем перенаправляются на Paypal. Но я вставляю эту пустую страницу посередине, чтобы разместить переменные посередине (такие переменные, как информация для выставления счетов, элементы заказа и т. Д.). Пустая страница слишком заметна, и я надеюсь либо на лучший способ сделать это, либо предложения, чтобы процесс казался более плавным.
Вот метод, который я использую:
public static void PostToRemote(string url, Dictionary<string, string> inputs)
{
if (String.IsNullOrEmpty(url))
return;
HttpContext context = HttpContext.Current;
//CREATE UNIQUE FORM NAME
string formName = "remoteform1";
//ERASE ENTIRE RENDER OF CURRENT PAGE
context.Response.Clear();
//OUTPUT SINGLE FORM TO POST DATA
context.Response.Write("<html><head></head>");
//ON LOAD, PAGE WILL POST FORM TO NEW URL
context.Response.Write(String.Format("<body onload=\"document.{0}.submit()\">", formName));
context.Response.Write(String.Format("<form name=\"{0}\" method=\"{1}\" action=\"{2}\" >", formName, "post", url));
//ADD PARAMETERS TO PAGE TO POST
foreach (var item in inputs)
{
context.Response.Write(String.Format("<input name=\"{0}\" type=\"hidden\" value=\"{1}\">", item.Key, item.Value));
}
context.Response.Write("</form>");
context.Response.Write("</body></html>");
context.Response.End();
}
Есть какие-нибудь предложения, чтобы сделать это более плавным или более приятным для пользователя? Спасибо!