当我尝试更新 FormView 时出现此错误
在 ObjectDataSource“odsForm”中的 DataObjectTypeName 属性指定的类型上找不到名为“MainContact.FirstName”的属性。
我认为这是因为我在 EditTemplate 中使用了这样的文本框
<asp:TextBox Text='<%# Bind("MainContact.FirstName") %>' ID="txtFirstName" runat="server" />
它在文本框中显示正确的文本,但显然它在更新时不起作用。
这是 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>
这是 EntryItem 类
public class EntryItem
{
public int Id { get; set; }
public string Email { get; set; }
public string Password { get; set; }
public Person MainContact { get; set; }
...
}
和 Person 类
public class Person
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
...
}
调试器进入 FormViewItemUpdating
事件处理程序,但永远不会进入Helpers.DataAccessers.EntryHelper.UpdateEntry
.
我该如何解决这个问题?