【问题标题】:Newline in a <pre> element in internet explorer 7Internet Explorer 7 中 <pre> 元素中的换行符
【发布时间】:2011-03-29 14:29:37
【问题描述】:

我的 ASP.NET MVC 3 项目中有以下代码:

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")" type="text/javascript"></script>
...    
<pre>@Html.ValidationSummary()</pre>

验证摘要显示了我的模型中指定的错误消息。模型从资源文件中获取错误消息..
在 1 个错误消息中,我使用了换行符(shift + enter)。
这些换行符在 Firefox 和 chrome 中正确显示,但在 Internet Explorer 7 中却没有。

我可以解决这个问题吗?

【问题讨论】:

    标签: html asp.net-mvc-3 newline internet-explorer-7 pre


    【解决方案1】:

    ValidationSummary() 可能使用 unix 换行符 (\n) 而 IE 只喜欢 Windows 换行符 (\r\n)。在显示之前看看是否可以将 \n 替换为 \r\n。

    【讨论】:

    • 啊!我忘了这个...你必须在 IE 的 PRE 标记中使用
      。我知道...这很荒谬,但我遇到了同样的问题。尝试将“\n”替换为“
      \n”
    • 不,对不起。这只是在验证错误消息中写入一个
      。看来ie7就是做不到。它甚至适用于 ie8...
    • 也许 BR 元素正在被 html 编码?查看源代码并确保它们是作为
      而不是 <br/>我知道在我拥有的在 PRE 标记中显示日志消息的 PHP 应用程序中,对于 IE7,我必须用 BR 替换换行符。如果没有,那么我完全没有想法。 :)
    • 我把 word-wrap: break-word;在预标签中。它更好,但并不能真正解决问题。但是感谢您的 cmets!
    猜你喜欢
    • 2012-04-05
    • 1970-01-01
    • 2019-06-05
    • 2015-05-20
    • 1970-01-01
    • 1970-01-01
    • 2011-05-10
    • 2011-04-08
    相关资源
    最近更新 更多