如何将querystring或hdnfield值传递给处理程序..?

时间:2013-05-22 13:55:41

标签: c# asp.net ashx

我正在为我的页面使用处理程序,我想将页面上的查询字符串或隐藏字段的值传递给处理程序。和我的处理程序代码(进程请求方法)在单独的文件中,即upload.ashx我在.ashx文件上使用context.request.param["ReqId"]但它没有获得价值。谁能帮我?

protected void Page_Load(object sender, EventArgs e)
{
    ClsCommon.ScreenId = ClsCommon.ScreenType.DeliveryManager;
    if (!IsPostBack)
    {
        if (Request.QueryString["ReqId"] != null)
        {
            hdnReqId.Value = Convert.ToInt32(Request.QueryString["ReqId"]).ToString();

        }
        else
        {
            ClsSessionManager.ReferToError();
        }

    }
    else
    {
        ClsSessionManager.ReferToError();
    }
}

public void ProcessRequest(HttpContext context)
{
    context.Response.ContentType = "text/plain";
    context.Response.Expires = -1;

    int Result;
    int ReqId = Convert.ToInt32(context.Request.Params["ReqId"]);
}

2 个答案:

答案 0 :(得分:0)

变化

int ReqId = Convert.ToInt32(context.Request.Params["ReqId"]);

int ReqId = Convert.ToInt32(context.Request.QueryString["ReqId"]);

用于查询字符串值和

int ReqId = Convert.ToInt32(context.Request.Form["ReqId"]);

隐藏值

答案 1 :(得分:0)

您可以直接从查询字符串中获取值

int ReqId = Convert.ToInt32(context.Request.QueryString [“ReqId”]);