visual tipos studio sesion numericas net float ejemplos datos asp alfanumericas c# html webforms

tipos - C#- Cómo enumerar los nombres de las variables y los valores publicados en la página ASPX



variables de sesion asp.net c# (8)

Genero dinámicamente un formulario HTML que se envía a una página web .aspx. ¿Cómo determino en la página resultante qué nombres de variables se enviaron y cuáles fueron los valores? Usando: Solicitud ["VarName"]. ToChar (); Funciona, pero supone que conozco todos los nombres de las variables. ¿Cómo puedo obtener los nombres y valores?

Idealmente, la solución funcionaría para envíos POST y GET ...

¡Gracias!


Además de las respuestas anteriores, si desea combinar la colección de elementos QueryString, Form, ServerVariables y Cookies, entonces la mejor manera es usar HttpRequest.Params


Cada uno de Request.Cookies , Request.Form , Request.QueryString y Request. ServerVariables es una NameValueCollection o similar. Puede pedirle a cada uno de ellos sus claves y continuar desde allí.

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

Las colecciones que necesita dependerán del propósito de esto; si solo es para diagnóstico, me sentiría tentado de eliminarlas por completo.


Debe usar Request.Form como una colección. Tenga en cuenta que los parámetros multivalor (una selección múltiple) se convierten en una colección ellos mismos. Hay un ejemplo en esta página .


El método de JohnFx funciona bien. También puede incluir cadenas de consulta, variables de servidor y datos de cookies en la mezcla mediante la colección Request.Params, como en:

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

Debe tener cuidado al usar la colección Request.Params . Si una variable QUERYSTRING y una variable FORM comparten la clave "Nombre" y tienen los valores "Val1" y "Val2", entonces el valor de Request.Params["Name"] será "Val1, Val2".


En la declaración de .ASPX, agregue Trace = ''True''

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

Podrá ver los datos de Forms, Session, Application, etc.


En la declaración de .ASPX, agregue Trace = ''True''

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


No lea desde la colección Request , que es una colección compuesta que contiene valores de form and querystring, sino también cookies y variables de servidor. Lea de las colecciones específicas de donde quiere los datos, es decir, Request.Form (para POST) y Request.QueryString (para GET).

Así es como puedes obtener todas las claves y valores en una cadena:

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();


Has intentado algo como ésto:

Para solicitud posterior:

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

Para una solicitud de obtención:

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