Результаты форматирования для пользовательского интерфейса Jquery в WebForms - PullRequest
0 голосов
/ 03 ноября 2011

У меня была похожая проблема несколько месяцев назад, но она была легко решена, потому что я работал над приложением MVC. Сейчас я работаю над старым приложением webforms.

Я вижу правильные результаты, возвращаемые в отладчике, но в моем текстовом поле ничего не отображается. Я не должен правильно форматировать результаты. Это сложно, потому что в WebForms нет встроенного сериализатора для JSON (насколько мне известно). Поэтому вместо этого я возвращаю содержимое, разделенное каналом, а затем разделяю его по возвращении.

Мой JavaScript ...

function myAutoComplete(myTextBox, myLabel, myHiddenVar) {
$(myTextBox).autocomplete({
    source: function (request, response) {
        $.ajax({
            type: 'POST',
            dataType: 'json',
            url: "myAutoCompletePage.aspx?q=" + request.term +
                "&mySearchType=" + $(myLabel).html(),
                success: function (data) {

                    response($.map(data, function (item) {
                        var result = item.split("|");
                        return { label: result[0], value: result[0], id: result[1] }
                    }));
                 }
            });
        },
        select: function (event, ui) {
            $(myTextBox).val(ui.item.name);
            $(myHiddenVar).val(ui.item.id);
            return false;
        }
    });
}

Мой код позади ...

foreach (DataRow myDataRow in myDataTable.Rows)
{
    Response.Write(myDataRow[0].ToString() + "|" + myDataRow[1].ToString() + Environment.NewLine);
}
Response.End();

1 Ответ

1 голос
/ 03 ноября 2011

Вы должны использовать (ваш ответ не является допустимым JSON):

$.ajax({dataType: 'text'})
...