GridView
에서 근무하는 알파벳 호출기를 가져 오려고합니다. 그것은 작동하지만 편지를 보여주기 위해 사용하고있는 중계기에 한 글자 만 나타납니다. 나는 다른 게시물을 읽었고 코드를 보았지만 작동해야하는 것처럼 보였지만 그렇지 않았습니다. 도움이 될 것입니다.ASP 중계기에 데이터가 표시되지 않습니다.
여기 여기가 aspsnippets 방법에서 대부분의 코드를 사용하고
Private Sub GenerateAlphabets()
Dim alphabets As New List(Of ListItem)()
Dim alphabet As New ListItem
alphabet.Value = "ALL"
alphabet.Selected = alphabet.Value.Equals(ViewState("CurrentAlphabet"))
alphabets.Add(alphabet)
For i As Integer = 65 To 90
alphabet = New ListItem()
alphabet.Value = [Char].ConvertFromUtf32(i)
alphabet.Selected = alphabet.Value.Equals(ViewState("CurrentAlphabet"))
alphabets.Add(alphabet)
Next
rptAlphabets.DataSource = alphabets
rptAlphabets.DataBind()
End Sub
뒤에 내 코드 내 HTML
<asp:Repeater ID="rptAlphabets" runat="server">
<ItemTemplate>
<asp:LinkButton ID="lnkBtn1" runat="server" Text='<%#Eval("Value")%>' Visible='<%# Convert.ToBoolean(Eval("Selected"))%>' OnClick="Alphabet_Click"/>
<asp:Label ID="lblAlpha" runat="server" Text='<%#Eval("Value")%>' Visible='<%# Convert.ToBoolean(Eval("Selected"))%>' />
</ItemTemplate>
</asp:Repeater>
입니다.
편집 : 는이 같은 내 Page_Load
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Try
ClearMessages()
If Not IsPostBack Then
ViewState("CurrentAlphabet") = "ALL"
Me.GenerateAlphabets()
BindGrids()
BindDropDownListBoxes()
End If
Catch ex As Exception
Me.HandleError(ex)
End Try
End Sub
'rptAlphabets.DataSource = alphabets'에서 [중단 점 설정] (https://msdn.microsoft.com/en-us/library/4607yxb0(v=vs.100) .aspx)을하고 검사하십시오 'alphabets'의 상태. 나는 당신이 보는 것에 놀라게 될 것입니다. – mason
@mason 나는 그것을했다. 알파벳에는 모든 문자와 "모두"가 포함됩니다. 내가 단계를 밟을 때, 데이터 소스도 그것을 선택합니다. – MarchingGazelle
GenerateAlphabets()를 어디에서 호출하고 있습니까? 페이지에 포스트 백이 있습니까? – Kami