在 C# 问题中使用 HTMLTextWriter 编写 <meta> 标签
Writing a <meta> tag using HTMLTextWriter in C# issue
我正在尝试使用 C#
和 HTMLTextWriter
呈现基本 HTML 网页以输出到 WebBrower
对象,但呈现 <meta>
标签在我的 HTML
输出中。
我期望输出什么..
<!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>
Notice how the <meta>
tag is being output as <meta charset="UTF-8">
& </meta charset="UTF-8">
instead of just <meta charset="UTF-8">
.
What can I do to correct this issue?
这是我使用的代码..
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();
试一试:
writer.AddAttribute("charset", "UTF-8");
writer.RenderBeginTag(HtmlTextWriterTag.Meta);
// Other needed methods...
writer.RenderEndTag();
结果:
<meta charset="UTF-8">
渲染标记元素的编码模式如下:
使用 AddAttribute 方法向元素添加任何属性。
使用 RenderBeginTag 方法。
根据需要使用其他方法呈现元素的开始和结束标记之间的内容。
使用RenderEndTag方法。
我正在尝试使用 C#
和 HTMLTextWriter
呈现基本 HTML 网页以输出到 WebBrower
对象,但呈现 <meta>
标签在我的 HTML
输出中。
我期望输出什么..
<!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>
Notice how the
<meta>
tag is being output as<meta charset="UTF-8">
&</meta charset="UTF-8">
instead of just<meta charset="UTF-8">
.What can I do to correct this issue?
这是我使用的代码..
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();
试一试:
writer.AddAttribute("charset", "UTF-8");
writer.RenderBeginTag(HtmlTextWriterTag.Meta);
// Other needed methods...
writer.RenderEndTag();
结果:
<meta charset="UTF-8">
渲染标记元素的编码模式如下:
使用 AddAttribute 方法向元素添加任何属性。
使用 RenderBeginTag 方法。
根据需要使用其他方法呈现元素的开始和结束标记之间的内容。
使用RenderEndTag方法。