Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
freegat
23 / 23 / 5
Регистрация: 05.03.2009
Сообщений: 181
#1

Работа с коллекцией объектов и objectDataSource GridView

22.07.2011, 08:09. Просмотров 1056. Ответов 3
Метки нет (Все метки)

Здравствуйте

Делаю запрос по нужному URL - мне приходит ответ: строка в формате Json, Я её сериализую. В коде создан один класс с нужными полями и второй класс, в нём метод - возвращающий коллекцию объектов первого класса, в чьи поля происходит сериализация.....
Я хочу, используя objectDataSource и возвращающий метод вывести результат в GridView на страницу.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
 protected void Page_Load(object sender, EventArgs e)
 {
 
 }
 
 protected void btnFindProduction_Click(object sender, EventArgs e)
 {
  GetJSonData.getData(); 
 } 
 
 [Serializable]
 public class AutoData
 {
  public string makename;         //Полное наименование производителя
     public string makelogo;            // Код производителя 
     public string detailnum;         // Каталожный номер детали
     public string detailname;     // Наименование детали
     public string pricerur;            // Цена в рублях с Вашей скидкой
     public string quantity;            // Кол-во детали на складе постващика (может быть пустым для заказных прайс-листов)         
     public string time;                // Средний срок поставки детали в днях
     public string timegar;         // Гарантированный срок поставки детали в днях
     public string country;         // Регион поставки
     public string supcode;         // Уникальный код поставщика
 }
 
 public class GetJSonData
 {
  
  public List<AutoData> DeSerilizeData()
  {
  List<AutoData> persons = new JavaScriptSerializer().Deserialize<List<AutoData>>(getData());
 
  return persons;
  }
  
 
  public static string getData()
  {
  WebRequest req = WebRequest.Create("http://www.japarts.ru/?id=ws;action=search;login=test;pass=testws;makename=mitsubishi;makelogo=mc;detailnum=MB831042;cross=1");
  WebResponse resp = req.GetResponse(); 
  StreamReader reader = new StreamReader(resp.GetResponseStream(),
       Encoding.Default);
  //JsonString
  return reader.ReadToEnd();
  }
 }

Добавляю на страницу GridView, в нём создаю колонку и используя ObjectDataSource добавляю путь к методу

public List<AutoData> DeSerilizeData(), который возвращает коллекцию обьектов...

Но происходит ошибка - в поле нет никакой информации....
Хотя если емного поменять метод этот же самый - например поменять возвращаемое значение на string и пройдя foreachem по всем объектов и записывая значеия полей в строку - всё работает....
Не могу понять, почему) Подскажите, пожалуйста

Ошибка -
The data source for GridView with id 'GridView1' did not have any properties or attributes from which to generate columns. Ensure that your data source has content.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.07.2011, 08:09
Ответы с готовыми решениями:

Сортировка GridView (при использовании ObjectDataSource)
гуглил, но ничего толком не нашел. на этом форуме тоже. Вот код: ...

Работа с коллекцией
Изучаю коллекции, скажите добрался до интерфейсов. Возникло несколько вопросов:...

Работа с GridView в ASP.NET
Здравствуйте! Разработал программку WinForms, основной частью которой является...

Работа с датами внутри GridView
Как внутри GridView (в Template) рассчитать и вывести в Label возраст, к...

ObjectDataSource не видит метод
Всем привет. Есть GridView. В данный момент осваиваю постраничное разбиение....

3
Johnny_D
Padawan
473 / 323 / 30
Регистрация: 30.01.2010
Сообщений: 1,842
22.07.2011, 10:40 #2
freegat, думаю надо смотреть, что все таки возвращает данный метод.
1
freegat
23 / 23 / 5
Регистрация: 05.03.2009
Сообщений: 181
24.07.2011, 12:00  [ТС] #3
Разобрался....

Почему то работая с полями - ничего не получалось......GridView не пом подрубится
А как только изменил поля на свойства (property) всё заработало

0
Alligieri
CEO
Эксперт С++
2253 / 1243 / 57
Регистрация: 16.03.2009
Сообщений: 3,588
24.07.2011, 20:21 #4
freegat, GridView работает только с public property, поля он не обрабатывает
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.07.2011, 20:21

Работа с GridView. Выделение цветом определённых ячеек
Здравствуйте. Как сделать так, чтобы в зависимости от определённых условий,...

Сохранение данных через ObjectDataSource
Здравствуйте Я делаю так: выбираю из БД запросом данные, запихиваю их в...

Заполнение DataGrid без objectdatasource
создаю метод возвращающий DataTable: public static DataTable GetAllClients()...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru