我正在使用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
,所以我想将其传递给处理程序,我该怎么做?请帮助我。