我制作了一个网页来显示一个图形,然后允许用户在它下面输入一些评论。提示用户输入,我试图将每个评论存储在一个列表中,然后将该列表显示为一个有序的 HTML 列表。以下是相关代码:
<script runat="server">
private List<string> messages = new List<string>();
protected void Button2_Click(object sender, EventArgs e)
{
messages.Add(TextBox2.Text);
TextBox2.Text = "";
}
protected void Button3_Click(object sender, EventArgs e)
{
messages.Clear();
}
protected void Button4_Click(object sender, EventArgs e)
{
string output = "<ol>";
foreach (string message in messages)
{
output += "<li>";
output += message;
output += "</li>";
}
output += "</ol>";
Message.InnerHtml = Server.HtmlEncode(output);
}
protected void Chart1_Load(object sender, EventArgs e)
{
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
Key Messages:<br />
<span id="Message" runat="server">
<asp:TextBox runat="server" ID="TextBox2" Width="500px"></asp:TextBox>
<asp:Button runat="server" ID="Button2" Text="Enter Message" Onclick="Button2_Click" />
<asp:Button runat="server" ID="Button3" Text="Clear Messages" onclick="Button3_Click" />
<asp:Button runat="server" ID="Button4" Text="Done" onclick="Button4_Click" />
</span>
</div>
</form>
</body>
</html>
输出是:
Key Messages:
<ol></ol>
所以我有两个谜团:
1)为什么输入到文本框中的文本没有添加到列表中
2) 为什么新的 HTML 显示为纯文本。
任何建议表示赞赏。
问候。