Мне нужно показать фотогалерею как показано на картинке. Я храню информацию для фотогалереи в 4 разных таблицах. мне нужно показать на главной странице CategoryName и Albums вместе с их уважаемым значком и связать их с AlbumCategoryPage.aspx.Отображать данные в режиме управления вложенным ретранслятором и как передать значение parentID из родительского ретранслятора в ретранслятор ребенка, используя asp.net
Для этого я использую вложенный регулятор репитера.
Родитель Repeater покажет Категория изображения (как показывают в красном цвете), а затем показать Top 4 альбома в одной и той же категории, и поэтому в.
До сих пор я сделал это, как этот
<asp:Repeater ID="rptAlbumCategory" runat="server" OnItemDataBound="rptAlbumCategory_ItemBound">
<ItemTemplate>
<!-- Repeated data -->
<div class="AlbumRowWrapper">
<div id="dAlbumCategory" class="AlbumCategoryIcon">
<asp:Image ID="Image1" ImageUrl='<%# getImagePath(Eval("CategoryImage")) %>' runat="server" />
</div>
</div>
<asp:Repeater ID="rptAlbums" runat="server" >
<ItemTemplate>
<!-- Nested repeated data -->
</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:Repeater>
Код За
На странице Load
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{ //Get Gallery
DataSet dsAlbumCat = new DataSet();
string strSql = "SELECT * FROM AlbumCategory)";
dsAlbumCat = DataProvider.Connect_Select(strSql);
rptAlbumCategory.DataSource = dsAlbumCat;
rptAlbumCategory.DataBind();
}
}
protected void rptAlbumCategory_ItemBound(Object Sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item)
{
Repeater childRepeater = (Repeater)e.Item.FindControl("rptAlbumCategory");
// childRepeater.DataSource = getAlbums();
// childRepeater.DataBind();
}
}
protected void getAlbums()
{
DataSet dsAlbums = new DataSet();
string strSql = "SELECT * FROM AlbumName WHERE CategoryID = " + CategoryID + ")";
dsAlbums = DataProvider.Connect_Select(strSql);
rptAlbums.DataSource = dsAlbums;
rptAlbums.DataBind();
}
protected String getImagePath(object img)
{
string url;
url = "~/Images/gallery/" + img;
return url;
}
С помощью этого кода я могу получить следующий результат.
Я не уверен, как я могу передать идентификатор категории из родительского ретранслятора в ретранслятор ребенка, чтобы он показывал мне связанные альбомы.
Я использую вложенную ретранслятор для впервые & найти его в заблуждение, как я не могу найти полный пример, связанный с моим сценарием
Структура таблицы
TABLE AlbumCategory
CategoryID
CategoryName
CategoryImageIcon
CategoryVisible
LanguageID
TABLE AlbumName
AlbumID
AlbumName
AlbumDescription
AlbumImageIcon
CategoryID
LanguageID
Я был бы признателен за помощь в этом отношении даже лучше подход к выполнить такую же конструкцию, как показано на первом изображении
** решаемые ** Я сделал изменения в свой код в соответствии со следующей статьей, и теперь он работает как шарм. http://www.devasp.net/net/articles/display/1372.html Я все еще открыт для лучшего или легкого подхода – Learning