मैं यह त्रुटि है जब मैं एक FormViewएक संपत्ति FormView (दो तरह से नेस्टेड संपत्तियों के लिए बंधन)
अपडेट करने का प्रयास में 'xxx.yyy' नाम नहीं मिल सकाएक संपत्ति 'नाम नहीं मिल सका MainContact । FirstName ' पर ऑब्जेक्टडेटा स्रोत ' odsForm 'में DataObjectTypeName प्रॉपर्टी द्वारा निर्दिष्ट किया गया है।
मुझे लगता है कि ऐसा इसलिए है क्योंकि मैं 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; }
...
}
और व्यक्ति कक्षा
public class Person
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
...
}
डिबगर FormView ItemUpdating
ईवेंट हैंडलर में हो जाता है है , लेकिन Helpers.DataAccessers.EntryHelper.UpdateEntry
में कभी नहीं।
मैं इसे कैसे हल कर सकता हूं?
+1: मैं हमेशा 'ऑब्जेक्टडेटा स्रोत' के साथ अपना समय बर्बाद कर देता हूं, मुझे उम्मीद है कि अगली बार मुझे उनसे परेशान न हो। – capdragon