Подтвердить что ты не робот

Как связать ASP.NET FormView с одной записью?

Вся цель элемента управления ASP.NET FormView - отображать одну запись за раз. Итак, как мне привязать его к одной записи? Он жалуется, что

Источник данных является недопустимым типом. Он должен быть либо IListSource, IEnumerable, либо IDataSource.

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

Если бы я пошел по книге и привязал FormView к источнику данных, который вернул список записей, действительно ли он будет извлекать все записи и отображать только выбранную запись?

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

public static IEnumerable<T> WrapInEnumerable<T>(T item)
{
    return new T[] {item};
}
4b9b3361

Ответ 1

Как говорится в сообщении об ошибке, объект DataSource должен реализовать IListSource, IEnumerable или IDataSource для работы.

Если у вас есть объект av типа A, который не реализует один из упомянутых интерфейсов, вы могли бы, как вы сказали, обернуть свой объект в список:

С#

var myDataSource = new List<A> {myObject};

VB.NET

Dim myDataSource As List(Of A)(myObject)