sm.*_*lah 4 asp.net web-user-controls
我有一个Web用户控件名称作为Chart Control,我在Chart Control中有一个下拉列表我想填充DropDown Chart Control of List Control,如下所示:
<UC:ChartControl ID="abc" runat="server">
<ChartDropDownItems>
<asp:ListItem Text="Graph_Amount_Items_Sold" Value="0"></asp:ListItem>
<asp:ListItem Text="Graph_Ranking" Value="1"></asp:ListItem>
<asp:ListItem Text="Graph_Share_Amount_Items_Sold" Value="2"></asp:ListItem>
<asp:ListItem Text="Graph_Share_Unit_items_Sold" Value="3" Selected="True"></asp:ListItem>
<asp:ListItem Text="Graph_Unit_items_Sold" Value="4"></asp:ListItem>
</ChartDropDownItems>
</UC:ChartControl>
Run Code Online (Sandbox Code Playgroud)
在.cs代码中
[DefaultProperty("ChartDropDownItems"),
ParseChildren(true, "ChartDropDownItems"), PersistChildren(false),
ToolboxData("<{0}:ChartControl runat=\"server\"> </{0}:ChartControl>")]
public partial class ChartControl : System.Web.UI.UserControl
{
private List<ListItem> lst;
[Browsable(true)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
[PersistenceMode(PersistenceMode.InnerProperty)]
public List<ListItem> ChartDropDownItems
{
set
{
lst = value;
Bind_ddChartChange();
}
}
private void Bind_ddChartChange()
{
if (lst != null)
{
ddChartChange.DataSource = lst;
ddChartChange.DataTextField = "Text";
ddChartChange.DataValueField = "Value";
ddChartChange.DataBind();
ListItem li = lst.Find(x => x.Selected == true);
ddChartChange.SelectedValue = li.Value;
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我编译并运行它对我来说工作正常,但在设计时它说
"Error Creating Control"
"Type'System.Web.UI.Control' does not have a public property named 'ChartDropDownItems'"
Run Code Online (Sandbox Code Playgroud)
我想在设计时工作.任何身体可以相应地建议我吗?谢谢.
好吧,经过几个小时的google-fu之后,我得出的结论是,要么设计师不能看到内在的儿童标签,要么没有人愿意给出如何做到这一点的好答案.
根据wonkim00的回答,这是来自这个MSDN网站的引用:
注意:Visual Studio设计器不支持模板化的ASP.NET用户控件.但是,您可以在Visual Studio中编译并运行此示例.为此,在创建ASP.NET页面以测试此代码时,请使用示例列表中的代码和标记替换页面中所有设计器生成的代码.
但是,正如您所知,这是模板的通知,但在我尝试使用许多其他数据类型(列表,集合,数组列表)后,它似乎是相同的.
可能有一个我们都缺少的属性让它在设计器中可见,但它似乎非常隐藏(请,任何人,请随意证明我的错误).
我发现代码编译和工作很奇怪,但你不能让设计师关闭缺少的属性.
我用过的链接:
也许那些会有所帮助,也许不会.对不起的消息感到抱歉,但这是我能找到的最好的消息.
| 归档时间: |
|
| 查看次数: |
712 次 |
| 最近记录: |