2010-03-23 22 views
0

我正在創建導航菜單。我必須呈現中繼器控制ul-li標籤和menuitems可以達到N級別。我需要添加一個孩子轉發器控制dymnamically到父母控制?以編程方式將嵌套的中繼器控件添加到N級?

編輯: 示例 - UL利可以轉到n級

<ul> 
<li> 
    <ul> 
    <li> 
     <ul> 
      <li></li> 
      <li></li> 
      <li></li> 
     </ul> 
    </li> 
    <li></li> 
    <li></li> 
    </ul> 
</li> 
<li></li> 
<li></li> 
</ul> 
+0

堅持,我想我誤解了。您是否想在中繼器內動態嵌套中繼器,或者,您是否想要一箇中繼器,然後在其ItemTemplate中動態創建控件? – andy 2010-03-24 06:23:51

+0

Andy,我有一個父級重複器,並且想要添加嵌套中繼器到項目模板。但不是。正在添加的中繼器將取決於數據。 – 2010-03-24 06:58:00

+0

好的,我明白了,然後在下面看到我的答案 – andy 2010-03-25 00:09:58

回答

0

該中繼器是不是真的爲N嵌套設計。主要的問題是你會在ItemDataBound事件中創建它們,並且嘗試爲新控件聲明新的事件處理程序會變得麻煩。

最好的事情是使用樹控件。另外,如果你確實需要指定你的模板聲明式的,也就是說,在aspx中定義它,然後編寫你自己的控件,它爲「節點」公開了模板,但其行爲就像一個樹控件。

0

如果你的數據是動態的,這是做它的一種方式。除非我不使用中繼器,否則如果使用.Net 3.5或更高版本,我會使用ListView。它們比中繼器更新且更靈活。

或者您可以使用Menu直接動態綁定到您的數據。

您也可以從存儲的位置檢索整個菜單層次結構,並簡單地輸出您自己的所有格式。

0

將動態控件添加到中繼器是棘手的。正如凱文所建議的那樣,我肯定會採用一次性的格式。

或者,爲您的N個級別定義一個合理的上限,並且可以嵌套控制。你真的需要超過三個菜單級別嗎?從UI的角度來看,這是一場噩夢。 (「現在WHERE是這個工具嗎?我剛剛使用它5分鐘前...」)

相關問題