Razor 翁布拉科剃须刀问题
Umbraco 4.11.10中的razor宏出现问题,这让我很困惑 问题: 在文本框多行字段中包含html元素会在执行razor脚本时“破坏”属性边界 更多详细信息: 基本宏有一个文本框多字段,作为参数传递到razor脚本中 对于纯文本,这非常有效,但是最近的一个需求要求在不同的位置向文本添加标记 我尝试过的: 起初,我尝试像这样转义htmlRazor 翁布拉科剃须刀问题,razor,macros,umbraco,Razor,Macros,Umbraco,Umbraco 4.11.10中的razor宏出现问题,这让我很困惑 问题: 在文本框多行字段中包含html元素会在执行razor脚本时“破坏”属性边界 更多详细信息: 基本宏有一个文本框多字段,作为参数传递到razor脚本中 对于纯文本,这非常有效,但是最近的一个需求要求在不同的位置向文本添加标记 我尝试过的: 起初,我尝试像这样转义html >sup<1,2>/sup< 这非常有效,直到我重新加载节点并重新发布,在数据库中查看时,似乎
>sup<1,2>/sup<
这非常有效,直到我重新加载节点并重新发布,在数据库中查看时,似乎第一次保存宏时,正确的转义html被包含为宏参数:
description="(text here)>sup<1,2>/sup<(more text)" ...
重新加载节点时,渲染输出为实际的html字符(假设在显示在umbraco后端之前已解码)
1,2
当重新发布时,将“按原样”传递给Razor宏
description="SINGLE (n=833) <sup>1,2</sup>
description=“单个(n=833)1,2
然后,从第一个html标记的末尾到宏参数的末尾输出,作为其输出:
<p> ***+ ***vs ***(Should Stop Here)" hideBorder="0" preview="0" /></p>
***+***vs***(应到此为止)“hideBorder=“0”preview=“0”/
应该是哪一个
诸如此类的废话+**vs*(应该到此为止)“hideBorder=“0”preview=“0”/>
问题:
我的问题是,当用作razor参数时,是否有任何方法将html元素添加到文本框中,或者在重新加载节点时停止解码
由于遗留问题和影响,如果可能的话,我宁愿不更改宏/参数,但如果必须的话
感谢您花时间阅读!最后,我决定使用带有RegEx的helper函数来替换自定义html元素键,例如$gt$for>和$lt$for我遇到了一个类似的问题,我希望html/Javascript通过一个以textMultiLine为参数的宏直接插入RTE 在不转义的情况下取出标签的解决方案是:
@Html.Raw(HttpUtility.HtmlDecode(Parameter.Code));
嗯,不确定这是否是同一个问题,问题是“xml blob”如何存储在数据库中,当解析回来时,html会破坏宏元素,导致它读取作为该属性一部分的任何其他参数。
$lt$span$gt$1,2,3 $lt$/span$gt$
@Html.Raw(HttpUtility.HtmlDecode(Parameter.Code));