gpt4 book ai didi

c# - .ASPX 上的自定义用户控件和友好的属性项集合(类似于 ListBox 和 ListItems,但带有 L​​ist)

转载 作者:太空狗 更新时间:2023-10-30 01:08:44 24 4
gpt4 key购买 nike

很长一段时间以来,我一直在想如何为用户控件创建一个类似于 .NET native 项目的集合属性(例如,ListBox 和 ListItems)的公共(public)属性:

<asp:ListBox blablabla>
<asp:ListItem></asp:ListItem> <- Inline item collection...
</asp:ListBox>

我一直在网上查看,但没有任何成功。我认为它必须是我需要添加到属性的任何类型的属性,或者应该需要由用户控件继承的接口(interface),但对此一无所知,并且已经考虑了很长时间。

我必须在自定义用户控件上处理它,但 Visual Studio 未将其识别为有效的项目集合。

假设我们有这个用户控件:

public partial class userControls_Blablabla : System.Web.UI.UserControl
{
public List<configItem> ConfigItem {get; set; }

blablabla...rest logic here...
}

public class configItem {
public string Name {get; set;}
public string Url {get; set;}
public string Color {get; set;}

blablabla...rest logic here...
}

应该怎么做,才能在 Visual Studio 的 .ASPX 编辑器上做类似的事情,并得到 Intellisense 的识别?

<User_Control:userControls_Blablabla ID="blablabla" ...blablabla....>
<ConfigItem Name="1" Url="...." Color="..." />
<ConfigItem Name="2" Url="...." Color="..." />
<ConfigItem Name="3" Url="...." Color="..." />
</User_Control:userControls_Blablabla>

对不起我的英语,我知道它不是很好。

提前致谢!

最佳答案

您可以将您的类型的列表放在控件类中并使用持久模式属性进行装饰。

[PersistenceMode(PersistenceMode.InnerProperty)]
public List<configItem> ConfigItem { get; set; }

一个更好的例子:

http://am-blog.no-ip.org/BlogEngine/post/2010/04/13/ASP-NET-Custom-Control-with-PersistenceModeInnerProperty-using-Server-Controls.aspx

关于c# - .ASPX 上的自定义用户控件和友好的属性项集合(类似于 ListBox 和 ListItems,但带有 L​​ist<Class>),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8602019/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com