Как я могу получить доступ (ссылку) на мой gridview в handler.ashx - PullRequest
1 голос
/ 13 декабря 2011

Эй, ребята, я работаю над веб-приложением asp.net, которое генерирует KML-файл. У меня есть gridview, где у меня есть долгота и широта, взятые из базы данных MySQL. Затем я использую обработчик для создания и передачи файла KML пользователю и открытия его в Google Планета Земля ...

Я пытаюсь прочитать значения долготы и широты из сетки и использовать цикл for, сохраняя значения в двух списках, которые я использую позже, чтобы создать метки для каждой точки. Вот цикл for в Handler1.ashx.cs

 for (int i = 0; i < GridView1.Rows.Count; i++)
          {
              string lng = GridView1.Rows[i].Cells[1].ToString();
              string lat = GridView1.Rows[i].Cells[2].ToString();

              latList.Add(lat);
              longList.Add(lng);
          } 

Тогда, конечно, он жалуется, что GridView1 не существует в текущем контексте ...

Как я могу использовать методы GridView1 здесь?

Надеюсь, вы поймете, что я имею в виду, и дадите несколько идей. Спасибо

1 Ответ

1 голос
/ 14 декабря 2011

Вы не можете ссылаться на элементы управления страницы в ASHX.

У вас есть два варианта:

1) Объедините значения из сетки в javascript и вызовите ashx с этими значениями (мы широко используем этот подход).

2) Измените вашу страницу на обратную или частичную обратную передачу, а затем вызовите статическую функцию на странице Ashx (если это где ваша логика централизована) со значениями из элемента управления сетки.

...