【问题标题】:How to format a String to display on multiple Lines如何格式化字符串以在多行上显示
【发布时间】:2012-05-12 19:40:45
【问题描述】:

这里我有一个显示电子邮件内容的消息字符串。我希望 From、The subject 和 body 都显示在新行上。

有人能告诉我这是怎么做的吗?以下是我正在尝试的,但它仍然在一条线上。

我认为 enviroment.newline 会起作用,但我仍然认为它会起作用,但可能我做错了吗?

MessageString = "From: " + message.Headers.From.Address + Environment.NewLine + "Subject: " + message.Headers.Subject + Environment.NewLine + "Body: " + messagePart.BodyEncoding.GetString(messagePart.Body);

如果您还可以向我展示如何编写多行代码并且仍然具有它的功能,那也太棒了??????


【问题讨论】:

  • 这不是 Java 的吗?是的,刚刚尝试过,我认为这是针对 java 的 :( 但感谢您的尝试 :)
  • 那个字符串出现在哪里?在日志中?在网页上?
  • @Pomster "\n" 是一个转义字符,它不是特定于语言的
  • @Pomster Environment.NewLine 不适合你吗?
  • Enviroment.NewLine, "\n" 和 "\r\n" 都没有工作,我已经尝试过了。唯一有效的是
    ,但我不认为它不能在网络之外工作。所以我可以继续前进:) 但没有学到任何东西。但我确实认为 enviroment.newline 将在 web maby 之外工作。

标签: c# html string


【解决方案1】:

如果电子邮件是 html 格式,请尝试<br />

【讨论】:

  • 是的,这行得通,但我可以帮助但觉得这不是正确的做事方式。当我没有在网页上显示时会发生什么我如何换行字符串?
  • 和你一样 - Environment.NewLine。但是,html 对任何换行符、空格等都不敏感,您必须使用特殊标签来强制换行。
  • 谢谢,这是我需要知道的 :D 你能告诉我如何编码多行吗???在 VB 中它只是 _ 然后开始新行 C# 我不确定。我不想要一大行代码整洁的代码是这样的:)
  • 加回车即可。 C# 等待分号。
【解决方案2】:

您还可以使用Literal 控件,将Mode 设置为PassThrough,然后使用<br /> 换行。文字(我猜还有标签)对其内容进行 HTML 编码,因此默认情况下 <br /> 不会呈现为换行符。

但是,请注意:您必须通过这种方式自行避免 XSS 攻击! HttpUtility.HtmlEncode 方法对此很有用。

【讨论】:

    猜你喜欢
    • 2011-07-12
    • 2019-08-06
    • 2014-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多