Ich habe diesen Fehler, wenn ich versuche, eine Formviewkann nicht eine Eigenschaft namens finden ‚xxx.yyy‘ in Formview (Zwei-Wege für verschachtelte Eigenschaften Bindung)
aktualisieren kann nicht eine Eigenschaft namens ‚gefunden MainContact .FirstName 'vom Typ , der von der DataObjectTypeName-Eigenschaft in ObjectDataSource ' odsForm 'angegeben wird.
Ich denke, es liegt daran, dass ich in der EditTemplate eine Textbox wie diese verwenden
<asp:TextBox Text='<%# Bind("MainContact.FirstName") %>' ID="txtFirstName" runat="server" />
Es zeigt den richtigen Text in der Textbox, aber anscheinend ist es nicht funktioniert, wenn es aktualisiert.
Dies ist die Datenquelle des Formview
<asp:ObjectDataSource ID="odsForm" runat="server" DataObjectTypeName="Helpers.BusinessObjects.EntryItem"
SelectMethod="GetEntryByEmail" TypeName="Helpers.DataAccessers.EntryHelper"
UpdateMethod="UpdateEntry">
<SelectParameters>
<asp:SessionParameter SessionField="email" Name="email" Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
Dies ist die EntryItem Klasse
public class EntryItem
{
public int Id { get; set; }
public string Email { get; set; }
public string Password { get; set; }
public Person MainContact { get; set; }
...
}
und die Person Klasse
public class Person
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
...
}
Der Debugger im Ereignishandler Formview ItemUpdating
bekommt , aber niemals in .
Wie kann ich das lösen?
+1: Ich verbrenne immer meine Zeit verschwenden mit der 'ObjectDataSource' Ich hoffe nur, das nächste Mal erinnere ich mich nicht mit ihnen zu belästigen. – capdragon