У меня следующая ситуация:
Мой бизнес-класс:
public class Foo
{
public String A {get;set;}
public DateTime B {get;set;}
// .. and other properties like
public String Intern {get;set;}
}
Я связываю этот элемент с DetailsView в режиме редактирования.(Я связываю List, содержащий единственный объект Foo, потому что помню, что могу связывать только IEnumerable <> классы с DetailView). Привязка осуществляется через ObjectDataSource
<asp:ObjectDataSource ID="odsEditfoo" runat="server"
SelectMethod="GetFooAsList"
TypeName="mynamespace.FooMethods"
DataObjectTypeName="mynamespace.Foo"
oninserting="odsEditfoo_Inserting" onupdating="odsEditfoo_Updating"
UpdateMethod="UpdateFoo">
<SelectParameters>
<asp:Parameter Name="A" Type="Int32" DefaultValue="-1" />
<asp:Parameter DefaultValue="-1" Name="type" Type="Object" />
</SelectParameters>
</asp:ObjectDataSource>
Метод обновления выглядит как1009 *
public void UpdateFoo(Foo item)
{
// save changes ...
}
Изменения, сделанные в DetailsView, присутствуют в экземпляре элемента.К сожалению, я не могу отобразить все свойства, такие как свойство Intern.Поскольку элемент привязан к DetailView, у меня есть вся необходимая информация.Все не отображаемые свойства теряются в элементе в тот момент, когда происходит обратная передача.
Я ищу способ, которым я привык, из LinqDataSource, где у меня есть событие обновления, которое позволяет мне получить доступ ксвязанный объект, в данном случае экземпляр foo, для изменения свойств.Я не могу понять, как это сделать в Updating-Event ObjectDataSource.Что я должен сделать, чтобы это исправить?