В настоящее время у меня две проблемы, которые мешают мне правильно завершить два проекта. Я помещаю их обоих сюда, поскольку я считаю, что они связаны с жизненным циклом страницы asp.net, но я не могу найти способ обойти их.
Сначала у меня есть DropDownList, который я должен отсортировать в коде. Он содержит только текст, поэтому я смогу сделать это с помощью следующего метода, вызываемого при загрузке страницы:
Dim alist As ArrayList = New ArrayList For Each litem As ListItem In ltEsittelyDropDownList.Items alist.Add(litem.Text) Next alist.Sort() Dim uusiDDList As New DropDownList For i As Integer = 0 To alist.Count - 1 Dim litem As New ListItem litem.Text = alist(i).ToString litem.Value = alist(i).ToString uusiDDList.Items.Add(litem) ' Response.Write(alist(i).ToString) Next ltEsittelyDropDownList = uusiDDList ltEsittelyDropDownList.DataBind()
Как видите, там есть закомментированный response.write, который показывает, что список действительно отсортирован. Так почему, когда я загружаю страницу, я не вижу никакого эффекта?
Другая проблема, более серьезная и сложная, заключается в следующем:
На странице aspx я привязываю источник данных SQL Server 2005 к gridview. И в коде программной части я улавливаю событие RowDataBound, в котором я обрабатываю некоторые ссылки и свойства внутри ячеек gridviews. Но я не могу заставить это работать при загрузке первой страницы, только после первой дополнительной обратной передачи.
Итак, что же делать? И спасибо за все советы впереди!