当我向asp.net页面添加一个具有可绑定属性的用户控件时,当我在Repeater-Listview上单击编辑数据绑定时,我在设计器的对话框中看不到它的可绑定属性
我应该添加任何其他的描述符吗?
标记在转发器或类似控件中会是这样的
<uc1:Menu ID="Menu1" superman="<% Eval("userid") %>" runat="server" />
在可绑定属性上我只使用
[System.ComponentModel.DefaultBindingProperty("superman")]
[System.ComponentModel.Bindable(true)]
public int superman
{
get;
set;
}
People discuss it here but they couldn't find a solution
答案 0 :(得分:4)
我认为这可能是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") %>' />
这是输出:
答案 1 :(得分:-4)
我认为你只需输入标记即可 用户控件必须拖放到设计视图中的页面。 试试这可能会有所帮助。