0
我试图渲染使用C#
和HTMLTextWriter
输出到WebBrower
对象一个基本的HTML网页使用的HtmlTextWriter一个
标签,但我有渲染<meta>
标签在我HTML
输出问题。写在C#中的问题
什么我期待输出..
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>My Website</title>
</head>
<body>
<h1>Hello World!</h1>
</body>
</html>
什么是当前输出..
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</meta charset="UTF-8"><title>
My Website
</title>
</head><body>
<h1>
Hello World!
</h1>
</body>
</html>
通知的
<meta>
标签是如何被输出作为<meta charset="UTF-8">
&</meta charset="UTF-8">
而不仅仅是<meta charset="UTF-8">
。我能做些什么来纠正这个问题?
这里是我使用的代码..
var sw = new StringWriter();
using (var writer = new HtmlTextWriter(sw)) {
writer.RenderBeginTag("!DOCTYPE html");
writer.RenderBeginTag(HtmlTextWriterTag.Html);
writer.RenderBeginTag(HtmlTextWriterTag.Head);
writer.RenderBeginTag("meta charset=\"UTF-8\"");
writer.RenderEndTag();
writer.RenderBeginTag(HtmlTextWriterTag.Title);
writer.Write("SIT323 - My Website");
writer.RenderEndTag();
writer.RenderEndTag();
writer.RenderBeginTag(HtmlTextWriterTag.Body);
writer.RenderBeginTag(HtmlTextWriterTag.H1);
writer.Write("Hello World!");
writer.RenderEndTag();
writer.RenderEndTag();
writer.RenderEndTag();
};
return sw.ToString();
完美!谢谢。 – TheAuzzieJesus
@TheAuzzieJesus,请再次查看答案。 Notic你**应该在RenderBeginTag(...)之后使用'RenderEndTag()'。换句话说,你最终应该在每个'RenderBeginTag(...)'之后使用'RenderEndTag()'。尽管你可以在他们之间有其他需要的方法。 – RAM
谢谢,我设法通过试错来幸运地解决问题。 – TheAuzzieJesus