C# - Как перечислить имена переменной и значения, отправленные на страницу ASPX

В Python все объекты выделяются на "куче".
, Но Python использует специальное средство выделения памяти, таким образом malloc не будет назван каждый раз, когда Вам нужен новый объект.
существует также некоторая оптимизация для маленьких целых чисел (и т.п.), которые кэшируются; однако, который вводит, и как, является зависящим от реализации.

14
задан NYARROW 29 September 2009 в 23:20
поделиться

8 ответов

Вы пробовали что-то вроде этого:

Для почтового запроса:

foreach(string key in Request.Form.Keys ) 
{
   Response.Write ( Request.Form[key] );
}  

Для запроса на получение:

foreach(string key in Request.QueryString.Keys ) 
{
   Response.Write ( Request.QueryString[key] );
}
29
ответ дан 1 December 2019 в 06:59
поделиться

Каждый из Request.Cookies , Request.Form , Request.QueryString и Request. ServerVariables - это NameValueCollection или аналогичный. Вы можете запросить у каждого из них свои ключи и действовать оттуда.

foreach (string key in Request.QueryString.Keys)
{
    string value = Request.QueryString[key];
    // etc
}

Какие коллекции вам нужны, будет зависеть от цели этого - если это просто для диагностики, я бы хотел выгрузить их все.

6
ответ дан 1 December 2019 в 06:59
поделиться

Метод JohnFx работает хорошо. Вы также можете включить в смесь строку запроса, переменную сервера и данные cookie, используя коллекцию Request.Params, например:

foreach(string key in Request.Params.Keys)
{
  Response.Write(String.Format("{0}: {1}<br />", key, Request.Params[key]));
}

. Будьте осторожны при использовании коллекции Request.Params . Если переменная QUERYSTRING и переменная FORM имеют общий ключ Name и имеют значения Val1 и Val2, тогда значение Request.Params ["Name"] будет "Val1, Val2".

4
ответ дан 1 December 2019 в 06:59
поделиться

Не читать из коллекции Request , которая представляет собой составную коллекцию, которая содержит значения формы и строки запроса, а также файлы cookie и переменные сервера. Читайте из конкретных коллекций, из которых вы хотите получить данные, то есть Request.Form (для POST) и Request.QueryString (для GET).

Вот как вы можете объединить все ключи и значения в строку:

StringBuilder builder = new StringBuilder();
builder.AppendLine("Form values:");
foreach (string key in Request.Form.Keys) {
   builder.Append("  ").Append(key).Append(" = ").AppendLine(Request.Form[key]);
}
builder.AppendLine("QueryString values:");
foreach (string keu in Request.QueryString.Keys) {
   builder.Append("  ").Append(key).Append(" = ").AppendLine(Request.QueryString[key]);
}
string values = builder.ToString();
1
ответ дан 1 December 2019 в 06:59
поделиться

В объявлении .ASPX добавьте Trace = 'True'

<%@ Page Language="VB" Trace="True" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
0
ответ дан 1 December 2019 в 06:59
поделиться

Вы должны использовать Request.Form как коллекцию. Обратите внимание, что многозначные параметры (множественный выбор) сами превращаются в коллекцию. Пример есть на этой странице .

0
ответ дан 1 December 2019 в 06:59
поделиться

В дополнение к приведенным выше ответам, если вы хотите объединить коллекцию элементов QueryString, Form, ServerVariables и Cookies, то лучшим способом является использование HttpRequest.Params

0
ответ дан 1 December 2019 в 06:59
поделиться

В объявлении .ASPX добавьте Trace = 'True'

<%@ Page Language="CS" Trace="True" AutoEventWireup="false" CodeFile="Default.aspx.cs" Inherits="_Default" %>

Вы сможете увидеть данные форм, данные сеанса, приложения и т. Д.

0
ответ дан 1 December 2019 в 06:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: