Как сохранить id и имена в списке arry, используя asp.net, введите имя, используя инструмент автозаполнения ajax, поэтому выберите имя, передайте id в db? - PullRequest
0 голосов
/ 11 октября 2011

Я использую Asp.net, C # .net и sql server.моя проблема заключается в том, что пользователь вводит имя в текстовое поле, автоматически прокручивая имя ( я использую инструмент автозаполнения в ajax и веб-службах ), но отображаются только имена , но я выбрал имя, конкретный идентификатор передающий базу данных вцель хранения , как это возможно, я использую список, получаю только имена, помогите мне мой код Страница Autocomplete.asmx

 [WebMethod]
    public string[] GetCompletionList(string prefixText, int count)
        {
        if (count == 0)
        {
            count = 10;
        }
        DataTable dt = GetRecords(prefixText);
        List<string> items = new List<string>(count);

        for (int i = 0; i < dt.Rows.Count; i++)
        {
            string strName = dt.Rows[i][0].ToString();
            items.Add(strName);
        }
        return items.ToArray();
    }

    public DataTable GetRecords(string strName)
    {
        SqlCommand cmd = new SqlCommand("Usp_Consultant", LITRMSConnection);

        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.AddWithValue("@consultantname", strName);
                DataSet objDs = new DataSet();
        SqlDataAdapter dAdapter = new SqlDataAdapter();
        dAdapter.SelectCommand = cmd;
        LITRMSConnection.Open();
        dAdapter.Fill(objDs);
        LITRMSConnection.Close();
        return objDs.Tables[0];
    }

Хранимая процедура

CREATE Procedure Usp_Consultant
    (@consultantname varchar(100))
As
    Begin

            select (FirstName+LastName)as ConsultantName from Consultant  where FirstName like '%'+@consultantname+'%'      
            union all           
            select(Firstname+LastName)as consultantName from InDirectConsultant i where FirstName  like '%'+@consultantname+'%' 
            ORDER BY 1;
        End

но у меня тоже есть идентификатор

select Consid, (FirstName+LastName)as ConsultantName from Consultant  where FirstName like '%'+@consultantname+'%'

Консид - это Варчар.

Спасибо тебе, Хемант

1 Ответ

0 голосов
/ 11 октября 2011

Вы должны вернуть обратно объект json из вашей веб-службы, который включает имя и идентификатор, и когда пользователь выбирает имя, используя событие autocompleteselect, захватывает идентификатор и помещает его в скрытое поле на странице.

У вас будет этот идентификатор, когда вы отправляете обратно страницу.

...