我正在尝试让GridView
中的字母寻呼机工作。它确实有效,但在转发器中只有一个字母出现在我用来显示字母的地方。我读过其他文章,看了看我的代码,看起来应该可以工作,但事实并非如此。 任何帮助,将不胜感激。ASP中继器没有显示数据
这里是我的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>
这里是我的
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
我使用的大多数代码从aspsnippets方法后面的代码。
编辑: 我这样从我的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 =字母'处检查实验,[设置断点](https://msdn.microsoft.com/en-us/library/4607yxb0(v = vs.100).aspx)并检查'字母'的状态。我敢打赌,你会对你所看到的感到惊讶。 – mason
@mason我做到了。字母表包含所有字母和“ALL”。当我逐步完成时,数据源也会提取它 – MarchingGazelle
你从哪里调用GenerateAlphabets()?您的网页上是否有回传? – Kami