asp.net: line break \n in resource .resx file does

2020-07-11 07:48发布

The "\n" does not work in below code, it's just displayed as "\n"

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

the string is "Invalid URL! \n Are you sure you want to continue?" in resource resx file.

how to make it work?

5条回答
闹够了就滚
2楼-- · 2020-07-11 07:54

ASP.NET MVC

STEP-1
In my Resource.resx file put Shift+Enter between the paragraph1 & paragraph2
My text paragraph1
My text paragraph2

STEP-2
In my view page its

<p>@Html.Raw(Regex.Replace(Resource.Mytext, "\r\n", "<br />"))</p>
查看更多
We Are One
3楼-- · 2020-07-11 07:55

I used shift+enter, it think it's the simplest.

< br >certainly will not work, have not tried \r\n, but since \n does not work, I am not very confident with \r\n

查看更多
闹够了就滚
4楼-- · 2020-07-11 08:07

Try shift-enter to create a new line in the designer. Alternatively copy and paste the result from notepad.

Another way is to edit the RESX xml manually.

The problem is that the RESX designer UI will auto-escape the strings. So your value is actually:

"Invalid URL! \\n Are you sure you want to continue?"
查看更多
smile是对你的礼貌
5楼-- · 2020-07-11 08:11

What worked in my case was this:

This text has a<br>line break!

See the <br> there.

Look here for the details: Putting a line break in an resx resource file

I'm using Razor in ASP.NET MVC and so I used:

@Html.Raw(Localization.NotAnswered)

so that it outputs the <br> as HTML code.

查看更多
聊天终结者
6楼-- · 2020-07-11 08:15

Shift-enter works great when you're entering strings, but if you have already created your resource file, and you dont want to edit every string, you can just do

String myStringFromResx = myStringFromResx.Replace("\\n," "\n");
查看更多
登录 后发表回答