Вопрос

Я использую ObjectDataSource для привязки данных к GridView;он работает нормально, за исключением того, что он всегда создает новый объект для использования в качестве источника данных.Я могу выполнить всю настройку просто отлично, но я не могу использовать экземпляр существующего объекта, чтобы указать его в качестве "источника данных".Возможно ли это сделать?Если да, то каким образом?

Если это невозможно, то почему?

Редактировать:Вот суть того, что происходит (изменены типы объектов):На первой странице вы редактируете атрибуты для собаки.Одним из атрибутов является "имеет щенков", и если это верно, то на следующей странице вы указываете имена этих щенков.Что происходит в моем случае, так это то, что эти щенки привязываются не к исходной собаке, а к "новой" собаке.(Намек на то, что моя проблема связана с "собакой женского пола", был случайным.;-) )

Это было полезно?

Решение

Создайте обработчик события для события ObjectCreating в ObjectDataSource.

Вы можете назначить экземпляр с помощью свойства ObjectDataSourceEventArgs

protected void ObjectDataSource1_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
{
    e.ObjectInstance = myObject;
}

Подключите это событие также к разметке

<asp:ObjectDataSource OnObjectCreating="ObjectDataSource1_ObjectCreating" />

Другие советы

Как я только что обнаружил в моем собственном вопросе здесь элементы, хранящиеся в кэше приложения, будут передаваться сами по себе в качестве ссылки для использования.Вы можете рассмотреть возможность хранения ваших данных там (или, возможно, также в сеансе) и передавать элементы таким образом.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top