如何在asp控件中显示html文档,最好是asp:table,从服务器端脚本以编程方式显示?我目前用Streamrader打开html文档,将其读入字符串,然后将其放入表中,但所有html标记都会出现。我尝试使用HtmlEncode和HtmlDecode,但无法使其工作。所以我有访问控件工作的机制,只需要像浏览器中那样呈现html文档。
答案 0 :(得分:1)
你需要设置一些控件的“.InnerHtml”属性(HtmlCell?)而不是“.InnerText”或类似的东西:
LiteralControl foo = new LiteralControl("<p>html from stream here</p>")
table.Rows[0].Cells[0].Controls.Add(foo);
如果您提供一些上下文(一个小代码示例),当您将html“放入表格”时,您将尝试做什么,这将有所帮助。
答案 1 :(得分:0)
这是我目前的代码:
//articleComments in code snippet is the raw html file contents
protected void DisplayArticle(string articleID)
{
string articleContents = GetArticle(articleID);
System.IO.StringWriter sw=new System.IO.StringWriter();
Server.HtmlEncode(articleContents, sw);
Server.HtmlDecode(articleContents, sw);
HtmlTableRow row = new HtmlTableRow();
HtmlTableCell cell = new HtmlTableCell();
this.tablearticle.Border = 0;
this.tablearticle.Rows.Add(row);
row.Attributes.Add("bgcolor", "lightgrey");
row.Attributes.Add("align", "center");
cell.InnerHtml = sw.ToString();
row.Cells.Add(cell);
}