【问题标题】:asp.net: line break \n in resource .resx file does not workasp.net:资源 .resx 文件中的换行符 \n 不起作用
【发布时间】:2012-06-04 04:14:08
【问题描述】:

“\n”在下面的代码中不起作用,它只是显示为“\n”

if (!window.confirm(XXXXX.Globalization.LocalResource.InvalidUrl)) {
    return false;
}

字符串是“无效的 URL!\n 你确定要继续吗?”在资源 resx 文件中。

如何让它发挥作用?

【问题讨论】:

    标签: javascript asp.net line-breaks resx resource-files


    【解决方案1】:

    在我的情况下起作用的是:

    This text has a<br>line break!
    

    在那里查看&lt;br&gt;

    详情请看这里:Putting a line break in an resx resource file

    我在 ASP.NET MVC 中使用 Razor,所以我使用了:

    @Html.Raw(Localization.NotAnswered)
    

    以便将&lt;br&gt; 输出为 HTML 代码。

    【讨论】:

      【解决方案2】:

      尝试 shift-enter 在设计器中创建一个新行。或者从记事本复制并粘贴结果。

      另一种方法是手动编辑 RESX xml。

      问题在于 RESX 设计器 UI 会自动转义字符串。所以你的价值实际上是:

      "Invalid URL! \\n Are you sure you want to continue?"
      

      【讨论】:

        【解决方案3】:

        我用shift+enter,觉得最简单。


        肯定不行,没试过\r\n,但是由于\n不行,我对\r\n不是很有信心

        【讨论】:

          【解决方案4】:

          ASP.NET MVC

          STEP-1
          在我的 Resource.resx 文件中,将 Shift+Enter 放在第 1 段和第 2 段之间
          我的文字段落1
          我的文本段落2

          第 2 步
          在我的视图页面中,它的

          <p>@Html.Raw(Regex.Replace(Resource.Mytext, "\r\n", "<br />"))</p>
          

          【讨论】:

            【解决方案5】:

            当您输入字符串时,Shift-enter 效果很好,但是如果您已经创建了资源文件,并且不想编辑每个字符串,则可以这样做

            String myStringFromResx = myStringFromResx.Replace("\\n," "\n");
            

            【讨论】:

            • 我会使用 Visual Studio 查找和替换来代替,然后检查它是否替换了正确的东西。否则,您必须将其洒在您的代码中,如果您真的想打印,可能会引入一个错误 \n
            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2019-04-22
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-04-09
            • 1970-01-01
            • 2013-03-02
            相关资源
            最近更新 更多