Показать выбранную запись - PullRequest
0 голосов
/ 24 марта 2009

У меня есть страница с отображением всех новостей в базе данных, которую я получаю с помощью функции

IList<News> GetAll();

Затем я связываю список с ретранслятором для отображения всех новостей. Если пользователь нажимает на новости N, он перенаправляется на страницу page.aspx? Id = N

Если задано QueryString ["id"], я получаю одну из моих новостей, подобную этой:

News news = sNewsService.Get(int.Parse(id));

Теперь я хотел бы отобразить эту единственную новость, но не могу связать ее с повторителем, поскольку он не реализует IListSource или IEnumerable.

Есть ли другой способ отобразить свойства одной новости вместо записи каждого значения свойства в другую метку, например lText = news.Text; lTitle = news.Title; ... или завершение новостей в списке?

Ответы [ 3 ]

1 голос
/ 24 марта 2009

Похоже, что это типичный сценарий Master-Details, где ваш репитер отображает список объектов News, а затем позволяет вам перенаправить на страницу Details, которая отобразит дополнительную информацию о выбранном News объекте.

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

Поскольку ваш класс News не реализует IEnumerable, необходимо использовать ObjectDataSource для включения привязки данных. Этот источник данных сможет обернуть ваш класс и разрешить привязку FormView к нему с использованием синтаксиса поиска на основе Eval .

1 голос
/ 24 марта 2009

Элемент управления DetailsView предназначен для отображения одной записи. Не уверен, что это может помочь.

0 голосов
/ 11 февраля 2010

Я преобразовал продукт в MVC и создал пользовательские DTO / Views

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...