Я работаю над модулем DotNetNuke в C #, и чтобы сократить сложность, я решил попытаться сохранить конфигурацию модуля на одной странице (кроме стандартного модуля настроек).Теперь я задаюсь вопросом, насколько мудрой является идея.
Мой модуль представляет собой простую галерею изображений с одним или несколькими изображениями.Каждое изображение имеет заголовок, источник изображения (URL) и место назначения (еще один URL).Поэтому я решил, что для моего интерфейса администратора у меня может быть простая «сетка» данных, в которой вы можете редактировать все существующие записи или добавлять новые, все на той же странице, что-то вроде этого:
Title Image URL Anchor HREF
[A Picture! ] [http://www.example.com/image.jpg ] [http://www.example.com]
[Another Picture!] [http://www.example.com/image2.jpg] [http://www.example.net]
[ ] [ ] [ ]
Просматривая WebControls, я нашел GridView, который на первый взгляд казался тем, что я искал.Однако, взглянув на него поближе, я обнаружил, что его необходимо привязать непосредственно к источнику данных, хотя кажется, что стандарт DotNetNuke для работы в уровне доступа к данным заключается в создании коллекции объектов данных, например:
// EditDiscovery.ascx.cs
DiscoveryController objDiscoverys = new DiscoveryController();
List<DiscoveryInfo> lstDiscoveries = objDiscoverys.GetDiscoverys(ModuleId);
// DiscoveryController.cs
public List<DiscoveryInfo> GetDiscoverys(int ModuleId) {
return CBO.FillCollection<DiscoveryInfo>(DataProvider.Instance().GetDiscoverys(ModuleId));
}
Есть ли что-то, чего мне не хватает в GridView, или мне следует изменить функцию GetDiscoverys, чтобы она возвращала DataSet, а не список объектов DiscoveryInfo?Или есть лучший подход, который лучше сочетается с DAL DotNetNuke?