我已經看到了所有常見頁面,其中包含有關如何創建允許用戶控件中的內容的子標記的信息(使用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