2017-06-29 110 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

我回答這個問題我自己,因爲這個問題就走了。

我覺得它有什麼進一步的標記做了網頁。 使用引導,也許標籤應該是一個跨度。

反正感謝任誰閱讀和思考這個!