When I faced the same question I decided against having paragraphs directly in resources. Separate text block by simple new lines (Shift+Enter if I'm not mistaken). Then create a helper method to wrap blocks into paragraphs.
namespace MyHtmlExtensions
{
public static class ResourceHelpers
{
public static string WrapTextBlockIntoParagraphs (this string s)
{
if (s == null) return string.Empty;
var blocks = s.Split (new string[] { "/r/n", "/n" },
StringSplitOptions.RemoveEmptyEntries);
StringBuilder htmlParagraphs = new StringBuilder ();
foreach (string block in blocks)
{
htmlParagraphs.Append ("<p>" + block + "</p>");
}
return htmlParagraphs.ToString ();
}
}
}
Then in your view you import your extension method namespace:
<%@ Import Namespace="MyHtmlExtensions" %>
And apply it:
<%= Resources.Texts.HelloWorld.WrapTextBlockIntoParagraphs () %>
I think it is a more cleaner way than putting markup tags into text resources where they in principle do not belong.