我已经看到了所有常见页面,其中包含有关如何创建允许用户控件中的内容的子标记的信息(使用ITemplate和作INamingContainer),但我还没有看到任何人都能够添加成为属性的属性说的标签,例如:如何在ASP.Net中将属性/属性添加到HTML标记容器标记中
<asp:MyControl runat="server" ID="myControlTest" SomeAttribute="SomeValue">
<Content ContentAttribute="Something">
<a href="SomePage.aspx" alt="Blah">Blah</a>
</Content>
</asp:MyControl>
如果你看到在内容标签的ContentAttribute,就是想什么我是能够实现,但是如果我使用ITemplate和INamingContainer等设置它,我可以添加一个实际上出现在该标记的Intellisense中的属性,但是当我运行代码时,它说内容没有名为ContentAttribute的属性/属性(它也给了山姆e作为VS IDE中的警告,但仍然允许我编译它)。
我已经尝试了一切,使这项工作,迄今唯一的方法似乎是如果我MyControl的Content属性从System.Web.UI.Control继承并实现ITemplate的类。这很有效,但不幸的是我必须在Content标签中指定runat属性(因为它将它视为控件而不是子标签),我宁愿不这样做,如果可能的话。
希望我已经解释得很好,如果我没有请让我知道,我会尽我所能进一步阐述。
在此先感谢。
嗨史蒂夫,感谢您的建议 - 绝对有很多我没有考虑在那里,他们是非常好的建议。关于你是否事先知道这些部分的问题,我会,但我不知道这些部分的内容。我可以将属性放在父标签上,但是我失去了逻辑,因为在父项上拥有这样的属性似乎很奇怪,而且我想让内容标签成为一个我可以在多个用户控件中使用的通用类,因此我必须将这些属性添加到使用此通用内容标记的每个控件。 – Anupheaus 2011-06-14 14:00:49