C#在HTML中添加换行符

C#在HTML中添加换行符,c#,html,asp.net,razor,C#,Html,Asp.net,Razor,我的问题是,我的字符串在控制台中使用换行符正确打印,但在HTML中它不显示换行符。 我尝试使用Environment.LineBreak、“\n”、“\r\n”和“”,但似乎没有任何效果 @{ var user_height = ""; var triangle = ""; if(Request.Method == "POST"){ user_height = Request.Form["

我的问题是,我的字符串在控制台中使用换行符正确打印,但在HTML中它不显示换行符。 我尝试使用Environment.LineBreak、“\n”、“\r\n”和“
”,但似乎没有任何效果

@{
    var user_height = "";
    var triangle = "";
    if(Request.Method == "POST"){
        user_height = Request.Form["Height"];
        for(int i = 0; i<=Convert.ToInt32(user_height);i++){
            for(int j = 0; j<=i;j++){
                triangle += "*";
            }
            triangle += "\n";
        }
    }
    Console.WriteLine(triangle);
}

<html>
<head>
<title>Dreiecke und Tannenbaeume</title>
</head>
<body bgcolor="lightgray">
<h1>Dreiecke und Tannenbaeume</h1>

<form action="" method="POST">

<p>Höhe:<br><input size="40" maxlength="3" name="Height"></p>

<p><input type="submit" value="Absenden"></p>

</form>

Höhe: @user_height
<div id="dreieck" style="font-family: Courier">
    <h2>Dreieck</h2>
    @triangle
</div>
<div id="tannenbaum" style="font-family: Courier">
    <h2>Tannenbaum</h2>
</div>
</body>
</html>```
@{
var user_height=“”;
var三角形=”;
if(Request.Method==“POST”){
user_height=Request.Form[“height”];

对于(inti=0;iHTML中的换行符是


或者,您可以将输出包装在
标记中,或者将
空白:pre;
CSS添加到元素中

您的
@三角形
是预格式化文本,因此将其放入
中:

<h2>Dreieck</h2>
    <pre>@triangle</pre>
</div>
Dreieck
@三角

要在html中创建换行符,您必须在代码中添加

,或者在div
dreieck
中添加
空格:pre-wrap;
您是说html标记

,因为
\n
中的换行符对html来说是无用的,它不关心空格字符,而且只起到制造东西的作用更人性化。非常感谢,输出周围的预标记对我有效!不客气。如果这解决了您的问题,请将答案标记为已接受!非常感谢,输出周围的预标记对我有效!