<asp:ObjectDataSource ID="odEducationOrganizations" runat="server" EnablePaging="True"
OldValuesParameterFormatString="original_{0}" SelectCountMethod="GetCountEducationOrganization"
SelectMethod="GetEducationOrganizations" TypeName="SmsDatebookInfo.Business.EducationOrganizations"
onObjectCreating="odEducationOrganizations_ObjectCreating"
onSelecting="odEducationOrganizations_Selecting"
InsertMethod="AddEducationOrganization"
DeleteMethod="DeleteEducationOrganization"
oninserting="odEducationOrganizations_Inserting">
<DeleteParameters>
<asp:Parameter Name="educationOrganizationId" Type="UInt64" />
</DeleteParameters>
<SelectParameters>
<asp:SessionParameter Name="administrativeUnitId"
SessionField="DefaultAdministrativeUnitId" Type="UInt64" />
</SelectParameters>
<InsertParameters>
<asp:Parameter Name="administrativeUnitId" Type="UInt64" />
<asp:Parameter Name="name" Type="String" />
<asp:Parameter Name="shortName" Type="String" />
<asp:Parameter Name="address" Type="String" />
</InsertParameters>
</asp:ObjectDataSource>
ObjectDataSource и Delete метод.
столкнулся с такой проблемой - есть ObjectDataSource и указан метод Delete бизнес-класса с одним параметром.
Код:
И при попытке удалить запись получаю:
ObjectDataSource 'odEducationOrganizations' could not find a non-generic method 'DeleteEducationOrganization' that has parameters: educationOrganizationId, original_Id, original_AdministrativeUnitId
С чего вдруг в число параметров сами сабой добавляются поля, которые в гриде указаны как ключевые, если в списке параметров их нет?!
саммое интересное что у меня на других страницах, тоже в обджек дата сорсах delete метод с одним параметром и ключевые поля грида не пытаются добавиться сами собой...
Почему ObjectDataSource вдруг начал искать метод с полями original_Id, original_AdministrativeUnitId, если они в параметрах не указываются?
Цитата: bave
С чего вдруг в число параметров сами сабой добавляются поля, которые в гриде указаны как ключевые, если в списке параметров их нет?!
На то они и ключевые - с их помощью отрабатывают Delete и Update методы.
Цитата: bave
Почему ObjectDataSource вдруг начал искать метод с полями original_Id, original_AdministrativeUnitId, если они в параметрах не указываются?
Они подразумеваются при указании атрибута:
Код:
<asp:ObjectDataSource
[COLOR=Red]OldValuesParameterFormatString="original_{0}" [/COLOR]/>
[COLOR=Red]OldValuesParameterFormatString="original_{0}" [/COLOR]/>
З.Ы. Кстати, использование UInt64 не очень хорошая практика: этот тип не является CTS-совместимым.
Если убирать OldValuesParameterFormatString="original_{0}", то он все равно требует эти параметры только с другими именами Id и AdministrativeUnitId соответственно... Потому что если убирать это свойство - исользуется значение по умолчанию для этого свойства {0}, а если в это свйство пустую строку записать, то он просит параметры без имени.... Как то по другому должно это выключаться...