【问题标题】:ASP.Net MVC - Displaying text with newlines inASP.Net MVC - 显示带有换行符的文本
【发布时间】:2010-09-13 16:17:59
【问题描述】:

我有一些文本,存储在表格中。 我正在使用 asp.net mvc 来显示这个。

我的一个观点,有以下几点:

<%=(Model.QuestionBody.Replace("\r\n", "<br/>").Replace ("\r", "<br/>")) %>

像这样,它显示正确 但是,如果我省略 .Replace,它将全部显示在一行上。

然而,在 TextBox 中显示的相同数据会以正确的格式显示。

我的问题是—— 有没有更好的方式在我的视图中显示文本?

【问题讨论】:

  • 这真的是一个 HTML 问题,而不是一个 ASP.NET 问题
  • @gustavogb:这是一个 ASP.NET MVC 问题。我添加了 HTML 标签。

标签: c# html asp.net-mvc text-formatting


【解决方案1】:

您可以将文本放在“pre”标签中。

<pre>
   <%= Model.QuestionBody %>
</pre>

然而,这种文本通常以包含
标签的 html 形式存储在数据库中。

【讨论】:

    【解决方案2】:

    我认为this 是同一个问题,不是吗?如果是这样,解决方案可能是相同的。

    【讨论】:

      【解决方案3】:

      这是一种方便的花哨扩展方法,我用它来格式化带有新行的字符串。它在 vb 中,所以如果你是一个 c# 类型的人,它需要一些调整。但它可以工作并保持视图整洁。

              <Extension()> _
              Public Function FormatForDisplay(ByVal stringToFormat As String) As String
      
                  If Not String.IsNullOrEmpty(stringToFormat) Then
      
                      stringToFormat = Replace(stringToFormat, vbCrLf, "<br />")
                      stringToFormat = Replace(stringToFormat, vbCr, "<br />")
                      stringToFormat = Replace(stringToFormat, vbLf, "<br />")
                      Return stringToFormat
                  End If
      
                  Return stringToFormat
      
              End Function
      

      那么在您看来,您将拥有:

      <%=(Model.QuestionBody.FormatForDisplay()) %>
      

      【讨论】:

        【解决方案4】:

        最佳方法...没有转化...

        @model MyNameSpace.ViewModels.MyViewModel
        
        @{
          ViewBag.Title = "Show formatted text";
        }
        
        @using (Html.BeginForm())
        {
          <div class="h3">
            <span style="white-space: pre-wrap">@Model.myText</span>
          </div>
        

        }

        【讨论】:

          猜你喜欢
          • 2011-07-13
          • 2011-03-12
          • 1970-01-01
          • 1970-01-01
          • 2018-04-18
          • 2012-12-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多