将userID从处理程序发送到asp.net中的aspx页面

时间:2014-05-02 11:48:13

标签: c# asp.net sql handler

我正在使用asp.net。我使用处理程序应用了全文搜索功能。现在我希望当用户从列表中选择一个名称时(在输入关键字后建议)页面应该被重定向到该人的个人资料。

<link href="Content/jquery.autocomplete.css" rel="stylesheet" />
<script src="Scripts/jquery-1.4.1.min.js"></script>
<script src="Scripts/jquery-1.3.2.min.js"></script>
<script src="Scripts/jquery.autocomplete.js"></script>
 <script type="text/javascript">
  $(document).ready(function () {
    $("#<%=txtSearch.ClientID%>").autocomplete('Search_CS.ashx');
});
 </script> 

<div>
    <asp:TextBox ID="txtSearch" runat="server" ></asp:TextBox>
</div>
<asp:Button ID="search" runat="server" Text="Search" OnClick="search_Click" />

当用户在文本框中键入名称时,它会返回具有匹配搜索文本的用户名。它是处理程序(ashx文件)中的处理

public void ProcessRequest (HttpContext context) {
    string prefixText = context.Request.QueryString["q"];
    using (SqlConnection conn = new SqlConnection(strcon))
    {

        using (SqlCommand cmd = new SqlCommand())
        {
            cmd.CommandText = "select Profile_ID,FirstName, LastName from UserProfile where FirstName like '%' + @SearchText + '%' OR LastName like '%' + @SearchText + '%'";

            cmd.Parameters.AddWithValue("@SearchText", prefixText);
            cmd.Connection = conn;
            StringBuilder sb = new StringBuilder();
            conn.Open();
            using (SqlDataReader sdr = cmd.ExecuteReader())
            {
                while (sdr.Read())
                {
                    sb.Append(sdr["FirstName"]).Append(" ").Append(sdr["LastName"]).Append(Environment.NewLine);

                }
            }
            conn.Close();
            context.Response.Write(sb.ToString());

        }
    }
}

现在,当用户键入“Tom”时,将打开一个列表,其中所有用户都名为“tom”。当用户选择“Tom John”时,页面应导航到Tom John个人资料。如何将用户重定向到特定用户的个人资料页面?

1 个答案:

答案 0 :(得分:1)

如何在search_Click中使用Server.Transfer或Response.Redirect方法?

您的问题的答案 - 如何为自动填充中选择的给定用户获取Profile_Id:

jQuery UI Autocomplete with values