我构建了一个具有公共(public)属性 string[] foo
的用户控件。
是否可以在实际标记中分配它?
项目类型为 ASP.NET webforms/web application。
我尝试了以下语法,但它不起作用:(它编译但从未分配值)。
<abc:MyControl runat="server" foo='<%# new string[]{"Hello"} %>' />
最佳答案
您可能会找到 PersistenceMode(PersistenceMode.InnerProperty)
引起兴趣。 PersistenceMode
属性允许您创建具有嵌套属性的属性。请注意,在这种情况下,您的 aspx 代码将使用嵌套元素而不是属性,因为元素只能存储字符串。
在那种情况下,你会做类似的事情:
<abc:MyControl runat="server" >
<foo>
<element value="1" />
<element value="2" />
</foo>
</abc:MyControl>
关于c# - 将非原始值分配给用户控件属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4872982/