注意:这是一个asp.net页面,但XSLT转换正在客户端进行。 所以我试图在asp.net textarea中设置一个默认值,它正在被转义,这导致我出现问题
这是asp.net文本区域
<asp:TextBox id="Description" TextMode="MultiLine"
Columns="50" Rows="4" runat="server"
ClientIDMode="Static" CausesValidation="false">
<xsl:value-of select="/oohru/form/desc" />
</asp:TextBox>
在页面上它变为
<textarea id="Description" cols="50" rows="4"
name="ctl00$RightColumn$Description">
<xsl:value-of select="/oohru/form/desc" />
</textarea>
按字面意思放入文本区域
<xsl:value-of select="/oohru/form/desc" />
我想在那里获得非转义值....如果我只是使用像
这样的常规文本区域<textarea rows="5" cols="5">
<xsl:value-of select="/oohru/form/desc" />
</textarea>
它运行正常....如何使用ASP.NET控件实现此目的?它基本上打破了我的客户端xslt,但仅限于textarea ......
谢谢!
注意:我也尝试在文本区域内使用text =“{/ oohru / form / desc}”...同样的文本区域包含精确的oohru / form / desc而不是引用的值。
答案 0 :(得分:1)
你似乎也试图太晚使用XSLT。
我的猜测是你想用XSLT生成控件。
在这种情况下,在XSLT转换中,你将拥有:
<asp:TextBox id="Description" TextMode="MultiLine"
Columns="50" Rows="4" runat="server"
ClientIDMode="Static" CausesValidation="false">
<xsl:value-of select="/oohru/form/desc" />
</asp:TextBox>
您还需要将前缀asp:
绑定到某个命名空间。
或者,在XSLT转换中的 ,您可以直接生成textarea
:
<textarea rows="5" cols="5">
<xsl:value-of select="/oohru/form/desc" />
</textarea>
最后的注意事项:如果我的猜测错了,您只希望最终用户在textarea
字符串"<xsl:value-of select="/oohru/form/desc" />"
中看到,那么无关紧要你看到它(在被浏览器显示之前)转义 - 当浏览器显示它时,用户将看到未转义的文本。
更新:@Jordan已经进一步澄清了他的转型是客户端 - 在asp控制已经消失后的方式......
在这种情况下答案是:不,您无法使用asp:TextBox
控件生成textarea
内的任何标记(文本节点以外的节点) - 它只在其中生成文本。
因此,您必须在服务器上明确生成textarea
和<xsl:value-of>
。
答案 1 :(得分:0)
您可以将TextBox控件的Text属性绑定到代码隐藏中的此值。那可能有用。什么是xsl以及你想要打印什么。
答案 2 :(得分:0)
XSL和ASP.NET并不是真正的朋友。
您可以尝试使用here之类的内容,但如果可以的话 - 将xsl移植到资源文件中。