目前我已經構建了一個collapseControl,它的行爲與標籤(associatedControlID)類似,用於控制控件的摺疊狀態。在ASP.NET中創建可摺疊區域
下面的控制,我想建:
collapsableArea http://img692.imageshack.us/img692/3307/stackoverflowcollapseab.jpg
我認爲是這樣的:
把我已經建立collapsableControl和其他一些控制(如面板)在一起,以得到collapsableArea。
第一次嘗試:
我試圖擴大面板也做了以下內容:
this.Parent.Controls.Add(collapsableControl);
但是這給了我:「不正確的生命週期階段」,「不能修改」,「nullReference」 ...例外
,所以我給它的另一個嘗試(我認爲更好的選擇,因爲沒有得到tagKey):
我伸出一個佔位符,也做了以下內容:
this.Controls.Add(collapsableControl);
this.Controls.Add(collapsablePanel);
這引起了其他問題,如:我只想設置面板的文字,面板的樣式,...
有線!
你有這方案的解決方案嗎?
編輯:
我提出了另一種解決方案:
another solution http://img109.imageshack.us/img109/3307/stackoverflowcollapseab.jpg
「CollapsableArea」 是 「控制」 類型的,含有2個額外的專用屬性:
- 「CollapsableControl」
- 「面板」
我認爲這將足以將CollapsableArea.Controls的getter重定向到CollapsableArea.Panel.Controls。在CollapsableArea.CreateChildControls()我實例化,並添加CollapsableControl和小組base.Controls和CollapsableArea.RenderChildren()現在使那些2個
我的問題: 的CollapsableControl會得到一個clientId(不設置一個ID) - 面板不會 渲染CollapsableControl將失敗(或傳出),如果面板包含<%> - 標籤
有什麼建議嗎?
編輯: 我固定缺少ID的行爲 - 以Panel.ClientID ...但剛剛成立CollapsableControl.AssociatedControlID - 在面板投入<%%>的時候,它不會渲染? !
我知道有這個控制,但是:我們不希望使用既不圖譜的框架也沒有了它的控制。 ..斯里!再加上:我們不需要這樣一個全能的舞蹈控制......我們專注於jQuery的整合! – 2009-11-11 10:17:41
您可能會以更常見的方式看到「您的解決方案是什麼」的問題 - 我認爲組合2個控件是一個廣泛使用的場景!因爲現在我不知道這個場景的(最好的)解決方案:) – 2009-11-11 10:19:27