我的asp.net GridView不再显示

时间:2017-06-29 18:24:40

标签: asp.net vb.net

在我执行以下操作之前,GridView显示正确,因此我将描述更改,以防任何人在此之前被咬过。

我将datasource的{​​{1}}从“cContact”更改为“cParticipant”。 cContact是一个本地课程。但是cParticipant是引用项目中的一个类。然而,引用的项目在解决方案中。 这是c参与者:

GridView

不幸的是,我不得不同时对cParticipant及其成员进行一些重命名。但我彻底搜查了旧名称并确保每个实例都在任何地方重命名。我仔细检查了新名称是否出现在标记的<DataContract()> Public Class cParticipant <DataMember()> Public Property DeptPK As Integer <DataMember()> Public Property DistrictCompanyName As String = "" <DataMember()> Public Property ParticipantID As String <DataMember()> Public Property Firstname As String = "" <DataMember()> Public Property Lastname As String = "" <DataMember()> Public Property BusinessEmail As String = "" <DataMember()> Public Property BusinessPhone As String = "" <DataMember()> Public Property PersonalCellPhone As String = "" <DataMember()> Public Property PersonalEmail As String = "" <DataMember()> Public Property RetainContact As Boolean = True End Class 条目中。

此外,标记中提到了每个字段,没有遗漏任何字段。

在Default.aspx的设计视图中,显示asp:BoundField DataField="aField",并且每个单元格中有5行显示“数据绑定”。

在Edge的F12开发者工具中,我看到“行”出现的位置,但GridView应该出现的位置,它只是GridView

将成员添加到列表后,我将参与者列表绑定到<div></div>.

GridView

“Participants”是Default.aspx.vb中的本地公共属性:

Dim C As New cParticipant
C.DeptPK=1
....
Participants.Add(C)
grdParticipantList.DataSource = Participants
grdParticipantList.DataBind()

更新:我在页面上抛出另一个gridview并将数据绑定到它。它显示。所以我的Markup肯定有问题。

以下是错误的代码和新的代码:

Public Property Participants() As List(Of cParticipant)
   Get
     Dim temp As Object = Session("Participants")
     Return If(temp Is Nothing, Nothing, _
         DirectCast(temp, List(Of cParticipant)))
   End Get

   Set(ByVal value As List(Of cParticipant))
     Session("Participants") = value
   End Set

End Property

            

<div style="padding-top:20px;padding-bottom:50px;">

    <div class="row">   
        <div class="col-lg-12 ">   
            <asp:GridView ID="grdParticipantList" runat="server" EnableViewState="true" DataKeyNames="ParticipantID" AutoGenerateColumns="false"
                HeaderStyle-BackColor="CornflowerBlue" HeaderStyle-ForeColor="White" CellPadding="4" Width="100%"    
                EmptyDataText="List of participants is currently empty." CssClass="table-hover">
                <Columns>   
                    <asp:BoundField DataField="ParticipantID" HeaderText="ID" Visible="false" SortExpression="ID" HeaderStyle-CssClass="visible-lg" ItemStyle-CssClass="visible-lg" />   
                    <asp:BoundField DataField="DeptPK" HeaderText="DeptPK" Visible="false" HeaderStyle-Width="0" ItemStyle-Width="0" SortExpression="DeptPK" />   
                    <asp:BoundField DataField="DistrictCompanyName" HeaderText="District/Company" SortExpression="District" HeaderStyle-CssClass="visible-lg" ItemStyle-CssClass="visible-lg" />   
                    <asp:BoundField DataField="Firstname" HeaderText="First Name" SortExpression="FName" ItemStyle-CssClass="visible-lg" HeaderStyle-CssClass="visible-lg" />   
                    <asp:BoundField DataField="Lastname" HeaderText="LastName" SortExpression="LName" ItemStyle-CssClass="visible-lg" HeaderStyle-CssClass="visible-lg" />   
                    <asp:BoundField DataField="BusinessEmail" HeaderText="Business Email" SortExpression="EmailB" ItemStyle-CssClass="visible-lg" HeaderStyle-CssClass="visible-lg" />   
                    <asp:BoundField DataField="BusinessPhone" HeaderText="Business Phone" SortExpression="PhoneB" HeaderStyle-CssClass="visible-lg" ItemStyle-CssClass="visible-lg" />   
                    <asp:BoundField DataField="PersonalEmail" HeaderText="Personal Email" SortExpression="EmailP" ItemStyle-CssClass="visible-lg" HeaderStyle-CssClass="visible-lg" />   
                    <asp:BoundField DataField="PersonalCellPhone" HeaderText="Personal Phone" SortExpression="PhoneP" HeaderStyle-CssClass="visible-lg" ItemStyle-CssClass="visible-lg" />   
                    <asp:BoundField DataField="RetainContact" HeaderText="Retain Info" Visible="false" SortExpression="RC" HeaderStyle-CssClass="visible-lg" ItemStyle-CssClass="visible-lg" />

                    <asp:TemplateField HeaderText="Retain Info" SortExpression="RC">
                        <ItemTemplate><%#IIf(Boolean.Parse(Eval("RetainContact").ToString()), "Yes", "No")%></ItemTemplate>
                    </asp:TemplateField>

                </Columns>   
            </asp:GridView>

1 个答案:

答案 0 :(得分:0)

我自己也在回答这个问题,因为问题消失了。

我认为它与页面上的标记有关。 使用bootstrap,也许标签应该是一个跨度。

无论如何,感谢任何阅读和思考的人!