【问题标题】:C# adding LineBreaks in HTMLC# 在 HTML 中添加换行符
【发布时间】:2021-07-28 13:41:54
【问题描述】:

我的问题是,我的字符串在控制台中正确打印了 LineBreaks,但在 HTML 中它不显示 lineBreaks。 我尝试使用 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>```

【问题讨论】:

  • 你的意思是html标签&lt;br&gt;,因为\n中的换行符对html没有用处,它不关心空白字符,它们只会使内容更易于阅读。

标签: c# html asp.net razor


【解决方案1】:

要在 html 中创建换行符,你必须在代码中添加 &lt;br /&gt; 或将 white-space: pre-wrap; 添加到 div dreieck

【讨论】:

    【解决方案2】:

    您的@triangle 是预先格式化的文本,因此请将其放入&lt;pre&gt;

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

    【讨论】:

    • 非常感谢,输出周围的 pre Tag 对我有用!
    【解决方案3】:

    HTML 中的换行符是&lt;br/&gt;

    或者,您可以将输出包装在 &lt;pre&gt; 标记中或将 white-space: pre; CSS 添加到元素中

    【讨论】:

    • 非常感谢,输出周围的 pre Tag 对我有用!
    • 不客气。如果这解决了您的问题,请将答案标记为已接受!
    猜你喜欢
    • 1970-01-01
    • 2010-09-09
    • 2021-07-18
    • 2012-06-14
    • 1970-01-01
    • 2010-09-18
    • 1970-01-01
    • 1970-01-01
    • 2010-10-26
    相关资源
    最近更新 更多