Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/144.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .Replace(Environment.NewLine,“br/>;”)在本地主机上工作,但在我将网站上载到主机时不起作用_C#_Asp.net_Asp.net Mvc 3_Razor - Fatal编程技术网

C# .Replace(Environment.NewLine,“br/>;”)在本地主机上工作,但在我将网站上载到主机时不起作用

C# .Replace(Environment.NewLine,“br/>;”)在本地主机上工作,但在我将网站上载到主机时不起作用,c#,asp.net,asp.net-mvc-3,razor,C#,Asp.net,Asp.net Mvc 3,Razor,我不知道这是为什么。这是我的代码,当我在localhost上尝试它时,它非常有效,但当我上传我的网站时,我的文本没有。为什么会发生这种情况?我如何用新的线路解决这个问题?(空白:pre-line;对我来说不是一个解决方案,它在IE6上不起作用,而且它会干扰我的风格) @Html.Raw(Html.Encode(Model.Body) .Replace(Environment.NewLine,“”) 不要使用环境。换行符,请尝试以下操作: someString.Replace(@"\r\n", "

我不知道这是为什么。这是我的代码,当我在localhost上尝试它时,它非常有效,但当我上传我的网站时,我的文本没有

。为什么会发生这种情况?我如何用新的线路解决这个问题?(
空白:pre-line;
对我来说不是一个解决方案,它在IE6上不起作用,而且它会干扰我的风格)

@Html.Raw(Html.Encode(Model.Body)
.Replace(Environment.NewLine,“
”)

不要使用
环境。换行符
,请尝试以下操作:

someString.Replace(@"\r\n", "<br/>");
someString.Replace(@“\r\n”和“
”);
正如评论中提到的BuildStarted,浏览器可能会发送
\r\n
\n
,如果您使用
环境。换行符
——我不认为asp.net会在运行代码之前解决这个问题


我建议您使用正则表达式替换换行符:
“\\r?\\n”
这应该匹配这两种情况(我不希望任何浏览器实际只使用“\r”)。

我相信这个答案是最好的:

string result=Regex.Replace(输入,@“\r\n?|\n”,“
”);
自从IE6以来发生了很多事情(感谢上帝!),所以我只想提及解决这个问题的CSS解决方案

在你的简历中:

在CSS中:

.newlines { 
  white-space:pre-line; 
}
在你的剃刀里:

<div class="newlines">@ViewBag.StringText</div>
@ViewBag.StringText

环境的定义。NewLine
在两个地方都是一样的?在处理web输入时,我总是将
\n
替换为使用Environment.NewLine,因为不同的浏览器可以发送
\r\n
\n
,但它们都至少发送
\n
ViewBag.StringText = "some text" + Environment.NewLine + "more text in a new line";
.newlines { 
  white-space:pre-line; 
}
<div class="newlines">@ViewBag.StringText</div>