Показать сообщение отдельно
  #8 (permalink)  
Старый 22.03.2015, 22:40
Новичок на форуме
Отправить личное сообщение для Nevermind Посмотреть профиль Найти все сообщения от Nevermind
 
Регистрация: 22.03.2015
Сообщений: 6

У меня вот такой код на клиенте:

<input style="margin-left:50px;" type="text" id="searcher" data-autocomplete-source='@Url.Action("Search", "Home")' />



<script type="text/javascript">

$(function () {
alert("работает");
$("[data-autocomplete-source]").each(function () {
var target = $(this);
target.autocomplete({ source: target.attr("data-autocomplete-source") });



});

});


</script>


----------------------------------------------------------------------
'@Url.Action("Search", "Home")' - это адресс функции, которая генерирует данные на сервере. Вот код этой функции:


public ActionResult Search(string term)
{
//формирую список обьектов моего класса

List<SearchItem> result = new List<SearchItem>();



//основная выборка данных из базы данных с условием, которое получаем от клиента(string term)

var recordresults = _datamanager.Record.GetAllRecords().Where(x => x.Title.Contains(term) || x.Text.Contains(term))
.Take(5)
.ToList()
.Select(x => new RecordSearch(x));
if (recordresults.Any())
{

//добавление результатов в основной список, который будем отправлять клиенту
result.AddRange(recordresults);
}




//возвращаем данные клиенту
return Json(result, JsonRequestBehavior.AllowGet);
}

-----------------------------------------------------------------------





вот класс из экземпляров которого генерируется массив и отправляется клиенту:


public class RecordSearch: SearchItem
{
//Сущность Record(у нее есть поля Title,Id...)

Record Model;

//конструктор класса
public RecordSearch(Record model)
{
this.Model = model;
}

//ну и свойства

public override int Id {
get { return this.Model.Id_Record; }
}

public override string Title {
get { return Model.Text; }
}



public override string CssClass {
get { return "recordsearch"; }
}

public override string TypeName {
get { return "Статья:"; }

}


}
--------------------------------------------------------------
Просто я не могу понять как на jQuery достать данные из свойства обьекта, в какой функции это надо делать? Этот код будет работать если передавать не массив обьектов а массив строк. То есть на сервере все в порядке. На сколько я понял изначально в моем файле, который я скачал на сайте jQuery-ui 1.11.4.js там все уже прописано, все функции уже есть, только по умолчанию они расчитаны на массив строк. Как то так...
Ответить с цитированием