Динамически отображать содержимое TemplateField

#asp.net #gridview

#asp.net #просмотр сетки

Вопрос:

Я хочу знать, есть ли способ динамического отображения содержимого поля шаблона из GridView.

Вот как выглядит сетка, и чего я хочу, так это каким-то образом получить отображаемую строку метки в коде за ней.

 <asp:GridView runat="server" ID="simpleGrid" AutoGenerateColumns="false" Visible="false">           
        <Columns>
            <asp:TemplateField HeaderText="Templated Date">
                <ItemTemplate>
                    <asp:Label ID="firstLabel" Text='<%# Eval("Date") %>' runat="server"/>
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>
  

Заранее спасибо,
Kali.

Комментарии:

1. Вы хотите сказать, что вам нужен HTML элемента управления Label?

2. Я спрашиваю, это ли то, что вы хотите сделать, или я неправильно понял вопрос. Так это то, что вы хотите сделать, или это что-то другое?

3. ДА… я хотел бы получить HTML отображаемой метки изнутри TemplateField.

Ответ №1:

Ну, единственный способ получить содержимое элемента управления — это использовать метод RenderControl с помощью чего-то вроде:

 StringWriter strings = new StringWriter();
HtmlTextWriter html = new HtmlTextWriter(strings);

Label label = //find the reference to the label
label.RenderControl(html);
  

Это должно перенести разметку элемента управления в программу html writer и легко извлечь с помощью программы записи строк. Это один из способов. В противном случае нет прямого способа получить доступ к его HTML-коду, кроме как через javascript на стороне клиента.

HTH.