Сбор данных формы, отправленных с любой страницы - PullRequest
0 голосов
/ 21 марта 2012

Скажем, я создаю статическую .html страницу. Далее я строю форму с кучей полей ввода. Затем я решаю, что хочу отправить все эти данные формы на другую страницу, назовите это process-form-data.aspx. Мой вопрос заключается в том, что, поскольку я разместил данные формы на странице .aspx, как я могу использовать C # в коде позади экрана, чтобы получить все эти данные?

Сначала я попробовал следующее:

NameValueCollection nvc = Request.Form;
string valTextBox1;

if (!string.IsNullOrEmpty(nvc["txtBox1"]))
{
     valTextBox1 = nvc["txtBox1"];
     Response.Write(valTextBox1);
}

А потом я попробовал:

valTextBox1 = Request.Form["txtBox1"].ToString();
Response.Write(valTextBox1);

Но ни один из методов не работает. Я смогу заставить эти два метода работать, только если я отправлю форму, используя атрибут runat = "server" на странице .apsx.

Я бы хотел избежать передачи переменных через URL.

Спасибо за любую помощь.

1 Ответ

0 голосов
/ 21 марта 2012

Спасибо за все предложения!Я думал, когда форма была отправлена, метод по умолчанию был POST данных;Оказывается, это ПОЛУЧИТЬ.(http://www.w3.org/TR/html401/interact/forms.html)

Я только что добавил следующий атрибут в тег формы: method = "post".

<form action="process-form-data.aspx" method="post">
    <input type="text" name="txtBox1" />
</form>

Оба метода сбора данных формы, упомянутые в исходном сообщении, работают нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...