.net 哪一个是用于打印纯文本的服务器端控件?

.net 哪一个是用于打印纯文本的服务器端控件?,.net,security,encoding,escaping,.net,Security,Encoding,Escaping,我知道(多亏了我以前的一个SO),服务器端控件在响应时会自动对其内容进行编码 那么,在.NET(3.5+)中,哪一个是服务器端控件,它编写编码/转义(“安全”)纯文本?我对这个问题有点困惑,但是如果您想知道哪些ASP控件将显示带有自动HTML编码的文本,我确信ASP:textbox和ASP:textarea都可以 但是,您也可以通过响应来实现这一点 Response.Write( Server.HTMLEncode("The <select /> control!") ); Res

我知道(多亏了我以前的一个SO),服务器端控件在响应时会自动对其内容进行编码


那么,在
.NET(3.5+)
中,哪一个是服务器端控件,它编写编码/转义(“安全”)纯文本?

我对这个问题有点困惑,但是如果您想知道哪些ASP控件将显示带有自动HTML编码的文本,我确信
ASP:textbox
ASP:textarea
都可以

但是,您也可以通过
响应来实现这一点

Response.Write( Server.HTMLEncode("The <select /> control!") );
Response.Write(Server.HTMLEncode(“控件”);
有关更多信息,请参阅

或者,对于.NET 4,您可以使用旧的经典ASP nuggets进行编码输出:

<% string output_text = "<select />"; %>
<%= output_text %>

这是您想要的吗?

系统将对您输入的内容进行编码。因此,如果您将其
Text
属性设置为“hello my”昵称“is”,它将像
hello my”昵称“is markzzz”一样输出HTML

如果不希望ASP.NET对
文本
属性进行编码,请使用。这将输出与您输入的文本相同的文本。例如,通过这种方式,您可以将其
Text
属性设置为
某物。你可以在HTML中找到它。您的用户将看到某些内容(因此,以粗体显示)

所以,我认为您需要标签控件

更新:

《使用Microsoft.NET Framework 4开发Web应用程序》(考试70-515的培训工具包)一书让我感到困惑。它说:

要将原始HTML添加到页面时,请使用文字控件, 无需ASP.NET提供任何附加处理。在 乍一看,文字控件似乎与标签非常相似 控制但是,文字并不是作为标签从WebControl继承的 做此外,文本控件不添加任何HTML元素 到网页,而标签呈现为标记。这 意味着文本控件没有样式属性,并且 因此,无法将样式应用于其内容

文本控件是 当您需要向页面的输出动态添加文本时,此功能非常有用 (来自服务器)但不希望使用标签。如果你的文字是 静态,您可以简单地将其添加到页面的标记中(您不需要 需要标签或文字控件)。文本控件包含 模式属性,该属性用于指定对 文本属性的内容。可用的模式及其应用 说明见表4-2


因此,我相信两者都可以使用。标签只会将html添加到您输入的文本中(即,span标记)。文字不会,但正如bukko所说,您应该正确设置Mode属性。

No!假设我有来自DB的文本,比如
你好,我的“昵称”是
,我想把它编码后打印出来。。。是否有管理纯文本的服务器端控件?例如,
是一个管理下拉列表的服务器端控件:)啊,对不起-这是文本控件。您可以根据需要应用或不应用编码。示例:label控件不会对任何内容进行编码。文本控件将根据mode属性的值对文本进行编码。嗯,我得到的结果与MSDN文档所说的不同。我的标签也在编码我在其中的内容(代码隐藏)。无论如何,您需要标签或文字。试试看,让我们知道。有趣的是,我也是!哇,我确信这一点-彼得道歉!