2016-07-07 42 views
1

我正在尝试让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 
+0

在'rptAlphabets.DataSource =字母'处检查实验,[设置断点](https://msdn.microsoft.com/en-us/library/4607yxb0(v = vs.100).aspx)并检查'字母'的状态。我敢打赌,你会对你所看到的感到惊讶。 – mason

+0

@mason我做到了。字母表包含所有字母和“ALL”。当我逐步完成时,数据源也会提取它 – MarchingGazelle

+0

你从哪里调用GenerateAlphabets()?您的网页上是否有回传? – Kami

回答

0

更改你的LinkBut​​ton的代码调用GenerateAlphabets。

<asp:LinkButton ID="lnkBtn1" runat="server" 
     Text='<%#Eval("Value")%>' 
     Visible='<%# Convert.ToBoolean(Eval("Selected")) = False %>' 
     OnClick="Alphabet_Click"/> 

原因:您隐藏了当前未选中的所有LinkBut​​ton。你应该展示他们。

+0

我试过了,但是出现错误。 “领导 '。'要么 '!'只能出现在'With'语句中,我刚刚删除了可见语句,它的工作方式与我认为它应该起作用一样 – MarchingGazelle

+0

,但它也会显示所选字母的链接按钮,请尝试此编辑,我认为它是C#。我的坏 – naveen

+0

我明白你的意思了! – MarchingGazelle