У меня есть GridView. Я хочу, чтобы содержимое ячеек, данных фактических данных, было html-кодировано. Но я хочу сохранить необработанный HTML в заголовке.Как htmlencode тело, но не заголовок gridview
То есть в заголовке в этом случае указано название языка и код ISO, например «Английский (EN)». Мне нужно указать имя и код на отдельных строках, поэтому я указываю заголовок как «Английский < br/> (EN)».
Но для контента, я хочу видеть любой HTML. Если он говорит «<p> foobar </p >« Я хочу, чтобы отображались p-теги.
Если я скажу «htmlencode = false», заголовок не закодирован, но и данные не будут.
Есть ли способ сказать, html-кодировать данные, но не заголовок?
Если это имеет значение, я строю столбцы в коде, а не теги в файле ASP, в зависимости от того, какие языки я нахожу в своих данных. Так вот, как я создаю столбец: (. Мой первый проект не установлен HTMLEncode)
For Each row As DataRow In ds.Tables(0).Rows
Dim iso2 = row("language")
Dim name = row("name")
... other code ...
Dim head = String.Format("{0}<br/>({1})", name, iso2)
gvSnippets.Columns.Add(New BoundField With {.HeaderText = head, .DataField = iso2, .HtmlEncode = False})
... other code ...
End For
любопытного наблюдение: В моих первых парах тестовых прогонов, данные не включают в себя какое-либо HTML или сущности и HTML в заголовке НЕ закодированы, я получил разрыв строки, а не «< br/>». Затем я выполнил тест, где в данных были сущности, а сущности получили html-кодирование ... и заголовок тоже. Так что, ASP, по-видимому, говорит, что по умолчанию, если у данных нет HTML, но заголовок делает, то не кодируйте HTML-заголовок HTML. Но если данные имеют HTML, то HTML-кодируют как данные, так и заголовок. Так что, он решает динамически, следует ли html-кодировать заголовок или нет.
В ответ на @fnostro, вот разметка GridView:
<asp:GridView ID="gvSnippets" runat="server" AutoGenerateColumns="False" SkinID="skin3" EmptyDataText="No records found" Visible="false">
</asp:GridView>
Там нет < Столбцы > разметки. Я полностью строю столбцы в коде. Я не проверял, происходит ли такое же поведение в том, что я предполагаю, более нормальный случай, когда вы указываете столбцы с разметкой.
Можете ли вы предоставить разметку 'GridView'' '? –
fnostro