如何使用查询字符串将值从ASPX页面传递给genric处理程序

时间:2015-12-04 06:20:37

标签: asp.net generic-handler

 string ID = context.Request.QueryString["BudgetId"] == null ? null : context.Request.QueryString["BudgetId"].ToString();
            context.Response.ContentType = "text/Plain";
            string Budgetid = context.Request["ID"];
            string Country = context.Request["ddlcountry"];
            string State = context.Request["ddlstate"];
            string City = context.Request["ddlcity"];
            string Location = context.Request["txtlocation"];

以上Iam从ASPX页面获取所有控制IDS,但ID来自ASPX页面如何在genric处理程序中传递国家,州,城市值

2 个答案:

答案 0 :(得分:0)

处理程序响应正在发出的请求。您可能想要检查处理程序内部的上下文而不是页面上的上下文。这样您就不必在ASPX页面中处理上述内容。完成后,您可以向会话添加一些值,以表明您已处理了请求。

答案 1 :(得分:0)

这是我连接到Generic Handler的ASP.NET示例实现。

我的WebForm1.aspx.cs代码

public partial class WebForm1 : System.Web.UI.Page
    {
        public string myCurrentUser = "MyUser";
        public string myCurrentUserID = "1";

        protected void Page_Load(object sender, EventArgs e)
        {

        }

    }

示例ASP.NET页面。

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>

    </div>
    </form>
</body>
</html>

<!--note that you need to have an updated jquery version here..-->
<script src="jquery.min.js" type="text/javascript"></script>

<script type="text/javascript">

    $(document).ready(function () {
        var PassValues = "?User=" + "<%=myCurrentUser%>" + "&ID=" + "<%=myCurrentUserID%>"
        $.ajax({
            type: "POST",
            contentType: "application/json; charset=utf-8",
            url: "Handler1.ashx" + PassValues,
            success: function (data) {
                alert(data);
            },
            error: function (err) {
                var str = err;
            }
        });
    });

</script>

注意:确保处理程序的$。 AJAX URL PATH 正确

enter image description here

我的Handler1.ashx.cs代码

public class Handler1 : IHttpHandler
    {

        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            context.Response.Write("Hello User <" + context.Request.Params["User"] + "> with ID <" + context.Request.Params["ID"] + ">");
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }