我正在写一个小页面来展示我们公司的员工。我写了一个查询来从我们的数据库中提取信息。然后我将它绑定到GridView来执行脏工作。这是查询。
"SELECT tblEmpID.empid AS [Empl ID], tblEmpID.posno AS [Pos #], [name] & ""<br />"" & [jcn] & ""("" & [jcc] & "")"" AS [Name/Job], [orgno] & "" - "" & [depname] AS Department, tblEmpID.[status] AS Status " & _
"FROM tblEmpID " & _
"ORDER BY [orgno] & "" - "" & [depname], tblEmpID.name "
正如您所看到的,我正在尝试在SQL中包含一个内容,因此当它呈现时它将如下所示:
Name
Job Description
但是当它渲染时它呈现为
< and >
有效地显示&lt; br /&gt;在记录中而不是像我想要的那样格式化它。
那么如何让它像我想要的那样渲染?我已经尝试过逃避&lt;与\并没有用。
编辑:谢谢gfrizzle。你的答案让我走上了正确的道路。还有,谢谢NYSystemsAnalyst。你的回答让我想到了将来做事的另一种方式。最终,我发现了一个不同的解决方案。我将此代码放在GridView1_RowDataBound事件中,它可以满足我的需要。
If e.Row.RowType = DataControlRowType.DataRow Then
Dim cells As TableCellCollection = e.Row.Cells
For Each cell As TableCell In cells
cell.Text = Server.HtmlDecode(cell.Text)
Next
End If
答案 0 :(得分:1)
尝试在GridView中的列上设置HtmlEncode =“False”。这应该阻止它对你的标记进行编码。
答案 1 :(得分:0)
如果您出于只读目的这样做,您可能需要考虑使用转发器控件。然后,您可以将它们作为单独的字段返回,从而从SQL结果集中删除HTML。然后,您可以使用控件中的ItemTemplate指定HTML以及您希望结果显示的确切方式。您可以将它们放在表格中,并使用BR标签。这看起来类似于网格,但可以让您更好地控制HTML / .aspx端的布局。