【问题标题】:Blazor - Trying to format a textarea with new linesBlazor - 尝试用新行格式化文本区域
【发布时间】:2020-11-24 00:58:08
【问题描述】:

我有一个简单的文本区域:

<textarea id="TextArea1" rows="20" cols="40" style="resize: both;  overflow: auto; ">
   @reportText
</textarea>

我正在尝试根据按下的按钮更新该文本区域:

    {
        userReport = await DataService.GetUserReport(user);
        foreach (Insider2.Data.Report r in userReport)
        {
            reportText += ((MarkupString)"<br>");
            reportText += r.Data.Trim();
        }
        StateHasChanged();
    }

在添加 += "\r\n" 时,我所做的一切似乎都不起作用 注入“” 等等……

我尝试的任何内容都会在文本区域中呈现为文本。我真的需要弄清楚如何将格式放入框中(新行)。

其次,即使我在进入文本区域的值上调用 .trim(),我似乎在那里得到了非常奇怪的空格和换行符?

【问题讨论】:

    标签: c# .net-core blazor


    【解决方案1】:

    尝试将以下内容集成到您的代码中

    @using Microsoft.AspNetCore.Components.Rendering
    
    <div class="form-group-sm">
        <label class="control-label">Message</label>
        <textarea rows="4" value="@EmailMessage" @onchange="@((args) => EmailMessage = args.Value.ToString())" class="form-control"></textarea>
    </div>
    
    @code {
        private string emailMessage = "Test Email text \r\nline two \r\n line 3";// "<p class='markup-string-value'>This is a <em>markup string</em>.</p>";
    
        public string EmailMessage
        {
            get => emailMessage;
            set
            {
                if (emailMessage != value)
                {
                    emailMessage = ((MarkupString)value).ToString();
                }
            }
    
        }
    
       }
    

    注意:您可以使用 value 属性(HTMl 不支持)或 textarea 的内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-17
      相关资源
      最近更新 更多