在我执行以下操作之前,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>
答案 0 :(得分:0)
我自己也在回答这个问题,因为问题消失了。
我认为它与页面上的标记有关。 使用bootstrap,也许标签应该是一个跨度。
无论如何,感谢任何阅读和思考的人!