0
我开发了一个usercontrol,但我似乎无法找到如何在detailsview中的usercontrol的属性上进行数据绑定。在DetailsView的UserControl的属性上的数据绑定
的属性定义是这样的:
<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>
嗯......我知道我可以使用代码隐藏数据绑定,但我寻找一种解决方案来使用aspx文件中的数据绑定。 – Martin 2011-03-31 17:28:19
你的代码也应该可以工作。可能是别的问题。你能不能分享你的DetailsView代码? – gbs 2011-03-31 18:27:51
最后,事实证明,我在我的控件中的代码和我的detailsview之间有一个数据绑定冲突。一旦我纠正了错误,我的数据绑定代码开始工作。 – Martin 2011-04-01 18:47:07