Ho questo errore quando provo ad aggiornare un FormViewImpossibile trovare una proprietà denominata 'xxx.yyy' in FormView (legame a due vie per le proprietà nidificate)
Impossibile trovare una proprietà denominata 'MainContact .FirstName 'sul tipo specificato dalla proprietà DataObjectTypeName in ObjectDataSource ' odsForm '.
penso che sia perché io uso nel EditTemplate una casella di testo come questo
<asp:TextBox Text='<%# Bind("MainContact.FirstName") %>' ID="txtFirstName" runat="server" />
Essa mostra il testo a destra nella casella di testo, ma a quanto pare non funziona quando si aggiorna.
Questa è l'origine dati del 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>
Questa è l'EntryItem Classe
public class EntryItem
{
public int Id { get; set; }
public string Email { get; set; }
public string Password { get; set; }
public Person MainContact { get; set; }
...
}
e la classe persona
public class Person
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
...
}
Il debugger ottiene nel gestore di eventi FormView ItemUpdating
, ma mai in Helpers.DataAccessers.EntryHelper.UpdateEntry
.
Come posso risolvere questo?
+1: Mi brucia sempre sprecando il mio tempo con 'ObjectDataSource'. Spero solo che la prossima volta mi ricordi di non preoccuparmi di loro. – capdragon