Получить записи ObjectDataSource в коде позади - PullRequest
0 голосов
/ 28 февраля 2011

У меня есть ObjectDataSource, который находится в исходном коде моей страницы .aspx, , а не в коде , и используется внутри столбца EditTemplate сетки данных.

<asp:DropDownList ID="ddlist1" runat="server" DataSourceID="osCreditType" ...

После выбора значения в раскрывающемся списке и установки состояния сетки данных обратно на ItemTemplate у меня есть ValueMember этого DropDownItem в коллекции NewValues ​​внутри события RowUpdating.

protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
    int primary = int.Parse(Convert.ToString(e.NewValues[0]));
}

Теперь я хочу получить некоторые другиеинформация из ObjectDataSource с использованием этого первичного объекта.

  1. Являются ли данные, используемые для раскрывающегося списка, все еще доступными в ObjectDataSource, или вызовет этот источник из выделенного кода, чтобы источник данных вернулся в базу данных
  2. Могу ли я использовать ObjectDataSource для получения дополнительной информации, используя этот первичный ключ, и если да, то как мне это сделать?

Заранее большое спасибо

1 Ответ

0 голосов
/ 28 февраля 2011

Вы должны помнить, что ObjectDataSource на самом деле является просто связующим звеном между вашим уровнем данных и вашими элементами управления.

Что было бы лучше для вас в подпрограмме GridView1_RowUpdating, так это использовать SqlDataAdapter и пойти и получитьинформация из базы данных самостоятельно, а затем использовать эту информацию для изменения значений обновленной строки.

У вас возникнет проблема при попытке выполнить другой запрос с тем же ObjectDataSource, поскольку, как только вы это сделаете, элемент управления будетпопробуйте выполнить привязку к новым данным.

Надеюсь, это поможет.

...