ASHX C#用于后VAR上的每个回路

ASHX C#用于后VAR上的每个回路,c#,asp.net,ashx,C#,Asp.net,Ashx,我在C#、ASHX或通用处理程序文件上有以下代码: public override void ProcessRequest(HttpContext contexto) { string destino = contexto.Request["destino"]; string variables = "?"; string valor = ""; foreach (string nombre in contexto.Request.QueryString)

我在C#、ASHX或通用处理程序文件上有以下代码:

public override void ProcessRequest(HttpContext contexto)
{
    string destino = contexto.Request["destino"];

    string variables = "?";

    string valor = "";

    foreach (string nombre in contexto.Request.QueryString)
    {
        if (nombre == "destino")
        {
            continue;
        } // Fin del if.
        else
        {
            if (contexto.Request.QueryString[nombre] != "")
            {
                valor = contexto.Request.QueryString[nombre];

                variables += nombre + "=" + valor + "&";
            } // Fin del if.
        } // Fin del else.
    } // Fin del foreach.

    variables = variables.Substring(0, variables.Length - 1);

    if (destino != null && destino != "")
    {
        switch (destino)
        {
            case "coordenadasPorMunicipios":    contexto.Response.Redirect("./admon/coordenadasPorMunicipios/CoordenadasPorMunicipiosControl.ashx" + variables);
                                                break;
            case "departamentos":               contexto.Response.Redirect("./admon/departamentos/DepartamentosControl.ashx" + variables);
                                                break;
            case "municipios":                  contexto.Response.Redirect("./admon/municipios/MunicipiosControl.ashx" + variables);
                                                break;
            case "negocios":                    contexto.Response.Redirect("./admon/negocios/NegociosControl.ashx" + variables);
                                                break;
            case "paises":                      contexto.Response.Redirect("./admon/paises/PaisesControl.ashx" + variables);
                                                break;
            case "sectoresIndustria":           contexto.Response.Redirect("./admon/sectoresIndustria/SectoresIndustriaControl.ashx" + variables);
                                                break;
            case "sectoresIndustriaPorNegocio": contexto.Response.Redirect("./admon/sectoresIndustriaPorNegocio/SectoresIndustriaPorNegocioControl.ashx" + variables);
                                                break;
            case "tiposNegocioPorNegocio":      contexto.Response.Redirect("./admon/tiposNegocioPorNegocio/TiposNegocioPorNegocioControl.ashx" + variables);
                                                break;
            case "tiposNegocios":               contexto.Response.Redirect("./admon/tiposNegocios/TiposNegociosControl.ashx" + variables);
                                                break;
            case "usuarios":                    contexto.Response.Redirect("./admon/usuarios/UsuariosControl.ashx" + variables);
                                                break;
        } // Fin del switch.
    } // Fin del if.
} // Fin del método ProcessRequest.
它可以很好地用于GET变量,我的意思是,那些通过URL发送的变量,但是我想为POST变量这样做

我试图在HttpContext对象上对每个对象执行一个for,但是我得到一条消息,消息说HttpContext类在实现中没有枚举器

你知道我如何为GET和POST VAR做到这一点吗


谢谢你的帮助

其中
Request.QueryString
用于GET,
Request.Form
用于表单post变量。如果要同时枚举这两个变量,可以使用
Request.Params

Request.Form是您要查找的,它是用于POST变量的提供了表单、查询字符串、Cookie和服务器变量的集合,可能太多了,因此,您可能希望将自己的迭代限制为只在
.Forms
.QueryString
上进行