2017-06-29 83 views
2

之前我做了以下的GridView正在展示正确的,所以我将描述的变化,万一有人已经在此之前咬伤。我的asp.net GridView中不再显示

我将GridViewdatasource从“cContact”更改为“cParticipant”。 cContact是一个本地班。但cParticipant是被引用项目中的一个类。然而,被引用的项目正在解决方案中。 这里是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 

我不得不做cParticipant及其成员的一些重命名的同时,很遗憾。但我已经彻底搜索了旧名称并确保每个实例都随时更名。我仔细检查过,新名称出现在标记中的asp:BoundField DataField="aField"条目中。

而且,每场在标记所提到的,没有被排斥在外。

Default.aspx中的设计视图中,GridView出现,而且它有5行示出了“数据绑定”在每个小区中。

在边缘的F12开发人员工具,我看到“行”将出现在的地方,但在GridView应该是,它只是<div></div>.

添加成员列表后,我绑定参加者列表中在GridView

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

“参与者” 是当地的公共财产在Default.aspx.vb:

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 

UP DATE:我在页面上抛出另一个gridview并将数据绑定到它。它显示。所以我的标记一定有问题。

下面是坏的和新的一个正常工作的代码:

<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> 

</div> 


<asp:GridView ID="GridView1" runat="server"></asp:GridView> 
+0

只是一个提示,没有人真的在培养后回页喜欢这个了和用户不喜欢它。你有没有考虑过使用AJAX而不是JSON而不是XML?现在Web应用程序是JS,而服务器调用是通过Web服务完成的,所以不存在回发。 –

+0

你也可能想看看ASP MVC范例。 –

回答

0

我回答这个问题我自己,因为这个问题就走了。

我觉得它有什么进一步的标记做了网页。 使用引导,也许标签应该是一个跨度。

反正感谢任谁阅读和思考这个!