私が次のことをする前に、GridView
が正しく表示されていましたので、これを行うことで前に誰かが噛まれた場合の変更について説明します。私のasp.net GridViewはもう表示されません
GridView
のdatasource
を「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>
ちょうどヒントは、誰も実際にビルドポストバックページはこれ以上好きではなく、ユーザーはそれが好きではありません。 XMLの代わりにAJAXではなくJSONを使用することを検討しましたか?最近、WebアプリケーションはJSであり、サーバーコールはWebサービスを通じて行われるため、ポストバックはありません。 –
また、ASP MVCのパラダイムを見たいと思うかもしれません。 –