Переслать отправку формы в asp.net - PullRequest
2 голосов
/ 10 января 2012

У меня есть веб-форма HTML ( НЕ веб-форма asp.net), которая отправляет свою форму в сценарий aspx.

В сценарии aspx я бы хотел просто переслать отправку формы другому сценарию обработки формы. (после проверки только одной или двух вещей, используя Request.Form["variable"])

Какой самый простой способ переслать отправку оригинальной HTML-страницы?

Currently:
html1 -> aspx1 -> html2

Desired:
html1 -> aspx1 -> aspx2 -> html2

Ответы [ 2 ]

1 голос
/ 10 января 2012

Я бы попытался решить эту проблему следующим образом

  1. Создать ретранслятор
  2. Установить Request.Form в качестве источника данных ретранслятора.Если это не работает, я бы преобразовал Request.Form в подходящую структуру данных, такую ​​как Dictionary или Datatable для привязки к повторителю
  3. Каждый элемент повторителя будет иметь входной тег и получит соответствующее имя /идентификатор и значение.Я бы не использовал тег ввода управления сервером.Я бы испустил струну более органично.
  4. Я бы тогда отправил на вторую страницу aspx.

Цель повторителя - создать эквивалентную форму NameValueCollection для обработки на второй странице aspx.

Ссылки

0 голосов
/ 10 января 2012

Если это только самый простой способ, то он использует переменную сеанса.Просто сохраните значения формы в сеансе, и тогда вы сможете получить к нему доступ в любом месте вашего приложения во время конкретного сеанса.

Так что я бы хотел, чтобы моя страница aspx1 была примерно такой

// ASPX1 page's Page_Load
protected void Page_Load(object sender, EventArgs e)
{
   if (Request.Form["variable"] == "SomeValue")//some condition
   {
      // save these values to session so that they will
      // be available when I will be in aspx2 page
      Session["FormValues"] = Request.Form;

      Response.Redirect("ASPX2.aspx"); // your aspx2 page's link

   }

}

И aspx2страница примерно такая

// ASPX2 page's Page_Load
protected void Page_Load(object sender, EventArgs e)
{
   // form values from aspx1 page
   NameValueCollection formValuesCollection = 
                          (NameValueCollection)Session["FormValues"];

   string variableValue = formValuesCollection["variable"];

   // some processing using form values from aspx1 page

   Response.Redirect("HTML2.html");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...