我有一个用户控件(ascx),我已经添加了两个公共属性:RequestTypeId和GroupId。两者都设置了Bindable(True)
属性。
在我的aspx页面中,我有一个ListView,在ItemTemplate中,我放置了我的控件引用,如下所示:
<asp:ListView ID="lv" runat="server">
<LayoutTemplate>
<asp:PlaceHolder ID="itemPlaceHolder" runat="server" />
</LayoutTemplate>
<ItemTemplate>
<tr>
<td>
<ctrl:ServiceTypeGroup id="ctrlServiceTypes" runat="server" RequestTypeId="<%#RequestType.RequestTypeId%>" GroupId='<%#Eval("Id")%>' />
</td>
</tr>
</ItemTemplate>
</asp:ListView>
设置RequestTypeId工作正常。设置GroupId失败,并显示以下错误:
“Eval(),XPath()和Bind()等数据绑定方法只能在数据绑定控件的上下文中使用。”
我需要对用户控件代码做什么才能将Eval()表达式绑定到其中一个属性?或者是不可能的?
答案 0 :(得分:0)
您可以为用户控件提供一些属性,例如[Bindable(true)]。
您是否已将此添加到相关媒体中?它看起来像这样:
[Bindable(true)]
public int RequestTypeID { get; set; }
[Bindable(true)]
public int GroupID { get; set; }
您需要在顶部显示以下内容:
using System.ComponentModel;
更多信息: