в текстовом поле автозаполнения jquery Я хочу показать значение «title» из базы данных, и мой код работает нормально, но я хочу, чтобы пользователь, щелкнув один результат, перенаправил ему на эту страницу:Как получить идентификатор выбранного объекта автозаполнения jquery в ASP.NET
но мой код прохождения «название» поле и я не знаю, как передать в поле «ID» из базы данных, что HREF.
это мой код:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="TestSearch.aspx.cs" Inherits="TestSearch" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="js/jquery.js"></script>
<script src="js/jquery-ui.js"></script>
<link href="css/jquery-ui.css" rel="stylesheet" />
<link href="css/site.css" rel="stylesheet" />
<script type="text/javascript">
$(document).ready(function() {
SearchText();
});
function SearchText() {
$("#SearchText").autocomplete({
select: function (event, ui) {
window.location.href = 'ArticleDetails.aspx?ID=' + ui.item.value;
},
source: function (request, response) {
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "TestSearch.aspx/Getauto",
data: "{'title':'" + document.getElementById('SearchText').value + "'}",
dataType: "json",
success: function (data) {
response(data.d);
},
error: function (result) {
alert("ERROR!!!");
}
});
}
});
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="SearchText" runat="server"></asp:TextBox>
</div>
</form>
</body>
</html>
и это фоновый код:
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Web.Services;
public partial class TestSearch : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
SearchText.Text = null;
}
public class RespObj
{
public string label { get; set; }
public string value { get; set; }
}
[WebMethod]
public static List<RespObj> Getauto(string title)
{
List<RespObj> result = new List<RespObj>();
string cs = ConfigurationManager.ConnectionStrings["MyCS"].ConnectionString;
using (SqlConnection con = new SqlConnection(cs))
{
SqlCommand cmd = new SqlCommand("SpMySearch", con);
cmd.CommandType = CommandType.StoredProcedure;
{
con.Open();
cmd.Parameters.AddWithValue("@SearchText", title);
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
result.Add(new RespObj(){
label = dr["title"].ToString(),
value = dr["id"].ToString()
});
}
return result;
}
}
}
}
Я отредактировал мой код, но я получаю синтаксическую ошибку! Описание: Произошла ошибка во время компиляции ресурса, необходимого для обслуживания этого запроса. Ознакомьтесь с приведенными ниже конкретными данными об ошибках и соответствующим образом измените исходный код. Compiler Error Message: CS1003: Синтаксическая ошибка '' ожидаемый Источник ошибки: Строка 35: { Line 36: result.Add (новый RespObj() { Line 37: этикетка: д-р [ "название "] .ToString(), Строка 38: значение: dr [" id "]. ToString() Строка 39:}); – Tonto23
Вы установили все скобки и т. Д. Правильно? Можете ли вы опубликовать свой код? –
Я обновил и добавил код в свой вопрос ... – Tonto23