DataBinding nicht eine Eigenschaft enthält
Bitte helfen, wie ich bin neu in c#
ich vor die folgende Fehlermeldung
"DataBinding: 'Sherserve.CustomTypeLayer.EmployeeLeave " enthält keine Eigenschaft mit dem Namen 'empId' "
hier ist mein code :
protected void Button1_Click(object sender, EventArgs e)
{
LMSManager leavestatus = new LMSManager();
int emplid = Convert.ToInt32(Session["EmployeeID"]);
List<EmployeeLeave> leaverecord = leavestatus.GetLeaveRecord(emplid);
GridView1.DataSource = leaverecord;
GridView1.DataBind();
}
hier ist EmployeeLeave :
public class EmployeeLeave
{
public LeaveReason LeaveType { get; set; }
public int EmployeeId { get; set; }
public DateTime DateFrom { get; set; }
public DateTime DateTo { get; set; }
public string Reason { get; set; }
}
hier ist die aspx :
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" AllowPaging="True"
PageSize="3" OnPageIndexChanging="GridView1_PageIndexchanging" CellPadding="4"
ForeColor="#333333" Height="16px"
Style="margin-bottom: 0px; margin-right: 0px;">
<%-- DataSourceID="SqlDataSource1"--%>
<AlternatingRowStyle BackColor="White" />
<FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#FFCC66" ForeColor="#333333" HorizontalAlign="Center" />
<RowStyle BackColor="#FFFBD6" ForeColor="#333333" />
<SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="Navy" />
<SortedAscendingCellStyle BackColor="#FDF5AC" />
<SortedAscendingHeaderStyle BackColor="#4D0000" />
<SortedDescendingCellStyle BackColor="#FCF6C0" />
<SortedDescendingHeaderStyle BackColor="#820000" />
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="lblEmpId" runat="server" Text='<%#Eval("empId")%>'/>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="lblLeaveType" runat="server" Text='<%#Eval("LeaveType") %>'/>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="lblempid" runat="server" Text='<%#Eval("EmployeeId") %>'/>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="lblDateFrm" runat="server" Text='<%#Eval("DateFrom") %>'/>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="lblDateTo" runat="server" Text='<%#Eval("DateTo") %>'/>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="lblRsn" runat="server" Text='<%#Eval("Reason") %>'/>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
- Ist dies WinForms oder WPF?
- Ihre Frage kann nicht beantwortet werden, da Sie noch nicht gezeigt, uns
EmployeeLeave
oder die Datenbindung... - Ich gehe davon aus, dass dies ASP.NET ist, zeigen uns die aspx-markup des Stromnetzes.
- Was ist mit deinem Vorherige Frage die das gleiche problem haben, beheben Sie es zuerst, statt zu Fragen, Frage, ohne komplette Informationen
- Ihnen fehlt eine grundlegende Sache, die Sie benötigen, um ein Objekt von
EmployeeLeave
with emplid
in Ihrer MethodeGetLeaveRecord
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sieht es aus wie deine Datenbindung bezieht sich auf
empId
während das Feld aufEmployeeLeave
eigentlich heißtEmployeeId
.Versuchen
zu
DataGrid
bindet eine Instanz vonEmployeeLeave
, die nicht dieempId
Eigenschaft. Sind Sie versuchen zu binden, um dieint emplid = Convert.ToInt32(Session["EmployeeID"]);
Wert aus dem ersten code-block?