Я разработал пользовательский контроль, но я не могу найти способ привязки данных к свойству пользовательского контроля в подробном представлении.
Свойство определяется следующим образом:
<Bindable(True, BindingDirection.TwoWay)>
Public Property Value As String
Get
Return combobox.SelectedValue
End Get
Set(value As String)
combobox.SelectedValue = value
End Set
End Property
Моя привязка данных в моем представлении подробностей выполняется следующим образом:
<myctls:DropDown runat="server"
ID="ctlSupplier"
Value='<%#Bind("supplier_id") %>' />
Всякий раз, когда я пытаюсь привязать данные, я получаю следующее исключение:
Методы привязки данных, такие как Eval (), XPath () и Bind () могут использоваться только в контексте элемента управления, связанного с данными.
Кто-нибудь получил какие-либо идеи о том, как сделать возможным привязку данных к свойству usercontrol?
* Редактировать 1: добавлен DetailsViewCode и объектный источник данных *
<asp:DetailsView runat="server" ID="dvMain" DataSourceID="odsReception" AutoGenerateRows="false" GridLines="None" DefaultMode="Edit">
<Fields>
<asp:TemplateField HeaderText="Supplier">
<ItemTemplate>
<myctls:DropDown runat="server" ID="ctlSupplier" Width="255" Value='<%#Bind("supplier_id") %>' />
</ItemTemplate>
</asp:TemplateField>
[... bunch of fields ...]
</Fields>
</asp:DetailsView>
<asp:ObjectDataSource runat="server" ID="odsReception" DeleteMethod="Delete"
InsertMethod="Insert" SelectMethod="Select"
TypeName="DataAccess.Reception"
UpdateMethod="Update">
<SelectParameters>
[... Bunch of parameters ...]
</SelectParameters>
[... Parameters for other methods ...]
</asp:ObjectDataSource>