Nano Hash - криптовалюты, майнинг, программирование

Проблемы с привязкой данных при обратной передаче

В настоящее время у меня две проблемы, которые мешают мне правильно завершить два проекта. Я помещаю их обоих сюда, поскольку я считаю, что они связаны с жизненным циклом страницы 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. Но я не могу заставить это работать при загрузке первой страницы, только после первой дополнительной обратной передачи.

Итак, что же делать? И спасибо за все советы впереди!


Ответы:


1

Ваша первая проблема - это вызов DataBind для элемента управления, который вы заполнили вручную. Вероятно, у вас есть DataSource, указанный в объявлении элемента управления, который используется при вызове DataBind. Вы можете упростить код, просто добавив элементы списка в исходный элемент управления:

For i As Integer = 0 To alist.Count - 1
    ltEsittelyDropDownList.Items.Add(New ListItem(alist(i).ToString())
Next

В качестве альтернативы, поскольку у вас уже есть коллекция, вы можете просто привязать ее к элементу управления:

ltEsittelyDropDownList.DataSource = alist
ltEsittelyDropDownList.DataBind()

Для вашей второй проблемы может помочь пример кода - в частности, где и как элемент управления привязан к данным и код в RowDataBound.

25.09.2009
  • Хех, какая-то ошибка. Использовал ваше первое предложение, и все сработало. Огромное спасибо! 29.09.2009
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..