2010-12-10 2 views
0

Основываясь на значениях тестирования существующей панели/метки внутри ItemTemplate (использует Column1), я хочу добавить другую панель/метку внутри той же ItemTemplate (отображает Column2).динамически добавить панель или ярлык в datagrid

Это пользовательский элемент управления (.ascx), который я хочу контролировать добавлением одного конкретного <asp:Panel> на основе того, имеет ли оно (или другую панель) определенное значение или нет. Если нет, я не хочу создавать <asp:Panel> (не должен генерировать <div> во время выполнения). Если да, то я хочу, чтобы генерировать <asp:Panel> внутри

<asp:DataGrid><Columns><ItemTemplate> 

ПРИМЕР: Предположим, что мы получаем значение COLUMN2 как и ожидалось, я хочу сделать это значение, только если это не «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

какой рамок? виджет? и т.д? Где вопрос в любом случае? –

+0

Если это asp.net, тогда да. Вы можете перефразировать и расширить свой вопрос с помощью некоторого кода, чтобы получить более полезный ответ. – Kendrick

ответ

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); 
} 
Смежные вопросы