Sitecore Multiline Text字段,将字符串转换为html

时间:2014-10-13 13:12:52

标签: c# asp.net asp.net-mvc sitecore sitecore7

我正在使用C#MVC Razor。

问题:

我有一个带有HTML的多行文字字段,我使用这个字段,因为我根本不需要格式化。我只想输出原始值。

示例:

<path d="M610.7 357.9c-2.4-1.2-16.6-8.6-18.7-9.7 -7.5-3.8-10.1-7.2-10.1-12.9 0-8 6.5-13.1 16.7-13.1 6 0 11.7 2.6 15.1 4.5 0.6 0.3 1.3 0.5 2.1 0.5 2.4 0 4.3-1.9 4.3-4.3 0-1.6-0.9-3-2.2-3.7 -4.3-2.4-11.5-5.6-19.3-5.6 -14.9 0-25.3 8.9-25.3 21.7 0 11.5 7.5 16.9 14.9 20.7 2.1 1.1 16.5 8.5 18.7 9.6 5.7 3 8.9 7.5 8.9 12.6 0 6.9-5.9 14.3-16.7 14.3 -10.5 0-18.7-7.1-21-9.2l-0.7-0.6 -6.4 5.8 0.8 0.7c2.8 2.8 13.2 12 27.3 12 15.8 0 25.3-11.6 25.3-22.9C624.3 369.9 619.3 362.5 610.7 357.9z" />

通常输出为:

&lt;path d="M610.7 357.9c-2.4-1.2-16.6-8.6-18.7-9.7 -7.5-3.8-10.1-7.2-10.1-12.9 0-8 6.5-13.1 16.7-13.1 6 0 11.7 2.6 15.1 4.5 0.6 0.3 1.3 0.5 2.1 0.5 2.4 0 4.3-1.9 4.3-4.3 0-1.6-0.9-3-2.2-3.7 -4.3-2.4-11.5-5.6-19.3-5.6 -14.9 0-25.3 8.9-25.3 21.7 0 11.5 7.5 16.9 14.9 20.7 2.1 1.1 16.5 8.5 18.7 9.6 5.7 3 8.9 7.5 8.9 12.6 0 6.9-5.9 14.3-16.7 14.3 -10.5 0-18.7-7.1-21-9.2l-0.7-0.6 -6.4 5.8 0.8 0.7c2.8 2.8 13.2 12 27.3 12 15.8 0 25.3-11.6 25.3-22.9C624.3 369.9 619.3 362.5 610.7 357.9z" /&gt;

所以我将值包装在:

@WebUtility.HtmlDecode(complexShapes)

没有变化。我怎样才能得到这个值?

2 个答案:

答案 0 :(得分:1)

如果您的模型值在控制器中设置如下:

model.ComplexShapes = 
     "<path d=\"M610.7 357.9c-2.4-1.2-16.6-8.6-18.7-9.7 -7.5-3.8-10.1-7.2-10.1-12.9 0-8 6.5-13.1 16.7-13.1 6 0 11.7 2.6 15.1 4.5 0.6 0.3 1.3 0.5 2.1 0.5 2.4 0 4.3-1.9 4.3-4.3 0-1.6-0.9-3-2.2-3.7 -4.3-2.4-11.5-5.6-19.3-5.6 -14.9 0-25.3 8.9-25.3 21.7 0 11.5 7.5 16.9 14.9 20.7 2.1 1.1 16.5 8.5 18.7 9.6 5.7 3 8.9 7.5 8.9 12.6 0 6.9-5.9 14.3-16.7 14.3 -10.5 0-18.7-7.1-21-9.2l-0.7-0.6 -6.4 5.8 0.8 0.7c2.8 2.8 13.2 12 27.3 12 15.8 0 25.3-11.6 25.3-22.9C624.3 369.9 619.3 362.5 610.7 357.9z\" />";

您只需使用@HtmlRaw输出即可:

@Html.Raw(Model.ComplexShapes)  

屏幕抓取

**Screen Grab**

<强> Working Fiddle

答案 1 :(得分:0)

很难说没有看到实际处理字段值的代码并将其返回。

通常你会做这样的事情:

return new HtmlString(myFieldValue);

指示框架字符串已准备好按原样显示。