.Replace(环境.NewLine, "
")在本地主机上工作,但不是当我上传我的网站
本文关键字:quot 工作 网站 我的 主机 NewLine 环境 br Replace | 更新日期: 2023-09-27 18:14:23
我不知道这是为什么。这是我的代码,它的工作完美,当我尝试它在本地主机,但当我上传我的网站,我的文字没有<br />
's。我如何用新线解决这个问题?(white-space: pre-line;
对我来说不是一个解决方案,它不能在IE6上工作,它扰乱了我的风格)
@Html.Raw(Html.Encode(Model.Body)
.Replace(Environment.NewLine, "<br />"))<br />
我认为这个答案是最好的:https://stackoverflow.com/a/8196219/550975
string result = Regex.Replace(input, @"'r'n?|'n", "<br />");
正如BuildStarted在评论中提到的,浏览器可能会发送'r'n
或'n
,这将打破,如果你使用Environment.NewLine
-我不认为asp.net会修复之前运行你的代码。
我建议你使用正则表达式来代替换行符:"''r?''n"
这应该匹配两种情况(我不希望任何浏览器实际上只使用''r')。
自IE6以来发生了很多事情(感谢上帝!)所以我只想提到CSS解决这个问题。
在c#中:
ViewBag.StringText = "some text" + Environment.NewLine + "more text in a new line";
在你的CSS中:
.newlines {
white-space:pre-line;
}
In your Razor:
<div class="newlines">@ViewBag.StringText</div>
不使用Environment.NewLine
,试试这个:
someString.Replace(@"'r'n", "<br/>");