【发布时间】:2008-09-15 04:38:47
【问题描述】:
我想让我的 web 控件在设计模式下更具可读性,基本上我希望标签声明看起来像:
<cc1:Ctrl ID="Value1" runat="server">
<Values>string value 1</Value>
<Values>string value 2</Value>
</cc1:Ctrl>
假设我在后面的代码中有一个私有变量:
List<string> values = new List<string>();
那么如何让我的用户控件使用标记中声明的值填充私有变量?
对不起,我应该更明确一点。基本上我喜欢 ITemplate 提供的功能 (http://msdn.microsoft.com/en-us/library/aa719834.aspx)
但在这种情况下,您需要在运行时知道可以实例化多少模板,即
void Page_Init() {
if (messageTemplate != null) {
for (int i=0; i<5; i++) {
MessageContainer container = new MessageContainer(i);
messageTemplate.InstantiateIn(container);
msgholder.Controls.Add(container);
}
}
}
在给定的示例中,标记如下所示:
<acme:test runat=server>
<MessageTemplate>
Hello #<%# Container.Index %>.<br>
</MessageTemplate>
</acme:test>
它既漂亮又干净,它没有任何标签前缀等。我真的想要漂亮干净的标签。
我希望标记是干净的可能是愚蠢的,我只是想知道我是否缺少一些简单的东西。
【问题讨论】: