如何将参数传递给javascript中调用的通用处理程序?

时间:2016-10-30 01:30:11

标签: javascript jquery asp.net

我正在使用jquery自动完成功能,我从一个调用数据库的通用处理程序中获取数据。

Java脚本:

<script type="text/javascript">
    $(document).ready(function () {
        $('#managerNo').autocomplete({
            source: 'ManagerHandler1.ashx'
        });
    });

</script>

Generic Handler :( ManagerHandler1.ashx)

public void ProcessRequest(HttpContext context)
    {
        string term = context.Request["term"] ?? "";
        List<string> listManagerNames = new List<string>();

        string myConnection = ConfigurationManager.ConnectionStrings["ArtistManagementSystem"].ConnectionString;
        using(SqlConnection conn = new SqlConnection(myConnection))
        {
            SqlCommand cmd = new SqlCommand("spGetManagerNames",conn);
            cmd.CommandType = CommandType.StoredProcedure;

            cmd.Parameters.Add(new SqlParameter()
            {
                ParameterName = "@term",
                Value = term
            });
            conn.Open();
            SqlDataReader dr = cmd.ExecuteReader();
            while (dr.Read())
            {
                listManagerNames.Add(dr["Cell"].ToString());
            }
        }

        JavaScriptSerializer js = new JavaScriptSerializer();
        context.Response.Write(js.Serialize(listManagerNames));

    }

实际上我正在尝试使用自动完成加载数字,而且工作正常。我想要做的是,加载数字where ID = someid

我从Page_Load()函数的Session获取UserID。

的Page_Load()

if (Session["UserID"] != null)
        {
            USERid = Session["UserID"].ToString();
        }

我已经更改了存储过程,并且它也正常工作。

StoredProcedure的:

CREATE proc spGetManagerNames 
@term varchar(50) = NULL,
@UsrID bigint 
as
Begin
    Select Cell
    from Manager
    where Cell like @term + '%' and [User ID]=@UsrID
End

现在,因为我从Session获取User ID,所以我想将其传递给处理程序,我该怎么做?请帮助我。

0 个答案:

没有答案