J'ai développé une commande usercontrol, mais je n'arrive pas à trouver comment gérer des données sur une propriété de la commande usercontrol dans une vue détaillée.Liaison de données sur une propriété d'un UserControl dans DetailsView
La propriété est définie ainsi:
<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
Mon databinding dans mes détails voir est fait de cette façon:
<myctls:DropDown runat="server"
ID="ctlSupplier"
Value='<%#Bind("supplier_id") %>' />
Chaque fois que j'essaie de Databind, je reçois l'exception suivante:
Les méthodes de liaison de données telles que Eval(), XPath() et Bind() peuvent uniquement être utilisées dans le contexte d'un contrôle de databound.
Quelqu'un a-t-il eu des idées sur la façon de rendre possible la transmission de données sur une propriété d'un contrôle utilisateur?
* Edit 1: Ajout DetailsViewCode et objet * datasource
<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>
Eh bien ... Je sais que je peux utiliser pour CodeBehind databinding, mais je recherche d'une solution pour utiliser la liaison de données à partir du fichier aspx. – Martin
Votre code devrait aussi fonctionner. Peut être quelque chose d'autre un problème. Pouvez-vous partager votre code DetailsView aussi bien. – gbs
Enfin, il s'est avéré que j'avais un conflit de liaison de données entre le code dans mon contrôle et ma vue détaillée. Une fois que j'ai corrigé l'erreur, mon code de liaison de données a commencé à fonctionner. – Martin