2010-12-10 131 views
0

基於測試ItemTemplate(使用Column1)中現有面板/標籤的值,我想在同一個ItemTemplate(顯示Column2)中添加另一個面板/標籤。動態添加面板或標籤控件到數據網格

這是在一個自定義控件(.ascx)中,我想根據它(或另一個面板)是否具有特定值來控制一個特定的<asp:Panel>的添加。如果不是,我不希望創建<asp:Panel>(不應在運行時生成<div>)。如果是的話,我想生成<asp:Panel>內 的

<asp:DataGrid><Columns><ItemTemplate> 

例子:假設我們正在如預期列2值,我想使這個值只有當它不是「0」,如果不是我不想要在給定的<ItemTemplate>內創建額外的標籤。我會控制它何時基於另一個標籤呈現。

If(Column2!='0') 
//Adding some condition for Column1 ... 
    Create the `<div>` tag i.e Add the `<asp:Panel>` 

我該如何調用這個代碼?

這意味着,生成的html在某些情況下會有額外的div/span標籤,並且不應該在其他情況下生成標籤。 這可以避免使用Javascript。

+0

什麼框架?窗口小部件?等等?無論如何,這個問題在哪裏? – 2010-12-10 16:01:30

+0

如果這是asp.net,那麼答案是肯定的。你可能想用一些代碼來改寫和擴展你的問題,以獲得更有用的答案。 – Kendrick 2010-12-10 16:09:42

回答

0

人們可以使用<asp:PlaceHolder>控制以將控制在的.ascx某一個地方,說: <asp:PlaceHolder id="placeHere" runat="server />以及基於其他的控制,這是否應該加入。 例如:

If(Column1 condition) 
{ 
    Label addToGrid = new Label(); 
    addToGrid.Text = column1; 
    addToGrid.Visible = true; 
    placeHere.Controls.Add(addToGrid); 
}