У меня следующая проблема.У меня есть ListView, который возвращает данные из таблицы SQL.Один из его столбцов выглядит как «Ambient / Trance / Goa Trance / House».
Все, что я хочу сделать, - это проанализировать этот столбец и создать кнопки для каждого значения, например, кнопку «Ambient», кнопкудля "Trance" и т. д.
Я пытался создать кнопки в событии ItemDataBound следующим образом:
Dim ListView_Albums_PlaceHolder_Artists As PlaceHolder = e.Item.FindControl("ListView_Albums_PlaceHolder_Artists")
Dim Artists As String() = e.Item.DataItem("album_artists").ToString.Split("/")
Dim ArtistsN As String() = e.Item.DataItem("album_artists_n").ToString.Split("/")
Dim ListView_Albums_Literal_Artists As New Literal
If Artists.Length = 1 Then
ListView_Albums_Literal_Artists.Text = "Artist: "
Else
ListView_Albums_Literal_Artists.Text = "Artists: "
End If
ListView_Albums_PlaceHolder_Artists.Controls.Add(ListView_Albums_Literal_Artists)
For Integer1 As Integer = 0 To Artists.Length - 1
Dim ListView_Albums_LinkButton_Artist As New LinkButton
ListView_Albums_LinkButton_Artist.Text = ArtistsN(Integer1)
ListView_Albums_LinkButton_Artist.CommandName = "Artist"
ListView_Albums_LinkButton_Artist.CommandArgument = Artists(Integer1)
ListView_Albums_LinkButton_Artist.CssClass = "a-03"
ListView_Albums_PlaceHolder_Artists.Controls.Add(ListView_Albums_LinkButton_Artist)
Dim ListView_Albums_Literal As New Literal
ListView_Albums_Literal.Text = ", "
If Not Integer1 = Artists.Length - 1 Then
ListView_Albums_PlaceHolder_Artists.Controls.Add(ListView_Albums_Literal)
End If
Next
Они создавались нормально, но не работали вообще.Я пытался добавить обработчик для события Click или Command, но это также не помогло.
Пожалуйста, помогите мне решить мою проблему!
Редактировать:
Как предложил мне VinayCизменил ItemDataBound на ItemCreated.Это помогло, но я столкнулся с другой проблемой: насколько я понимаю, e.Item.DataItem или, может быть, e.Item ничего не становится на PostBacks, поэтому кнопки не работают.
Как решить эту проблему?Еще раз спасибо!