Я думаю, что это может быть проблема с Visual Studio, я не нашел способ показать свойства пользовательских элементов управления, но все же, вы можете связать свойство, даже если оно не отображается в окне параметров:
Это то, как вы связываете это:
В коде управления пользователя позади:
[Bindable(true)]
public string MyProperty
{
get
{
return this.lblMessage.Text;
}
set
{
this.lblMessage.Text = value + DateTime.Now.ToString();
}
}
В файле ASCX:
<asp:Label ID="lblMessage" Text="something" runat="server" />
На странице ASPX:
<asp:DataList runat="server" ID="dataList" Width="50%"
DataSourceID="ObjectDataSource1">
<ItemTemplate>
<uc1:WebUserControl1 runat="server" ID="myUC" MyProperty='<%# Eval("Name") %>' />
</ItemTemplate>
</asp:DataList>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server"
SelectMethod="GetProducts" TypeName="WebApplication1.Repository">
</asp:ObjectDataSource>
Просто добавьте свойство, которое вы создали в вашем UC, в тег:
<uc1:WebUserControl1 runat="server" ID="myUC" MyProperty='<%# Eval("Name") %>' />
Это вывод: