在使用 asp.net razor 标记的文本区域内添加新行

Adding new line within a textarea that's using asp.net razor markup

如何在 Razor @foreach 语句内的文本区域中的每个项目后添加换行符?

下面的代码将所有内容显示在一行中,例如...

12341524345634567654354487546765

当我想要...

12341524

34563456

76543544

87546765

<textarea>
    @foreach (var item in ViewData.Model)
    {
                @item["ACCT_ID"]
    }
</textarea>

您可以使用 HTML 助手 @Html.Raw() 添加原始 HTML。在你的情况下,这样的事情应该有效:

<textarea>
    @foreach (var item in ViewData.Model)
    {
        @item["ACCT_ID"]
        @Html.Raw("\n")
    }
</textarea>

这将在每个项目后插入一个原始换行符 (\n)。

在您的控制器中:

只需转义字符串中的换行符\n。

message = "Violation of UNIQUE KEY constraint" + "\n";
message += "Customer " + Customer.ToString() + "\n";
message += "Invoice " + Invoice.ToString();

Viewbag.AlertMessage = message;

在您看来:

@if (ViewBag.Alertmessage != null)
{
    <script type="text/javascript">
           alert("@ViewBag.Alertmessage");
        ViewBag.AlertMessage = "";
    </script>
}