Javascript код в XsltListViewWebPart Дайте ошибку разбора - PullRequest
1 голос
/ 24 апреля 2011

Я работаю с XsltListViewWebPart, я добавляю свой пользовательский xsl, и он работает хорошо. Этот xsl содержит такой тег привязки

 <a>
       <xsl:attribute name="title"><xsl:value-of select="@Title"/></xsl:attribute>
       <xsl:attribute name="onclick"><xsl:value-of select="@ID"/></xsl:attribute>
       <xsl:value-of select="@Title"/>
 </a>

Когда я пытаюсь завершить свой код JavaScript, это вызывает ошибку синтаксического анализа. Вот мой код

 <a>
       <xsl:attribute name="title"><xsl:value-of select="@Title"/></xsl:attribute>
       <xsl:attribute name="onclick">OpenPopUpPage("/lists/news/dispform.aspx?isdlg=1&ID=<xsl:value-of select="@ID"/>");</xsl:attribute>
       <xsl:value-of select="@Title"/>
</a>

Может ли кто-нибудь помочь мне, пожалуйста?

1 Ответ

2 голосов
/ 24 апреля 2011

С XML (а XSLT - это XML) вам нужно экранировать любой амперсанд '&' как '&amp;', поэтому попробуйте

 <a>
       <xsl:attribute name="title"><xsl:value-of select="@Title"/></xsl:attribute>
       <xsl:attribute name="onclick">OpenPopUpPage("/lists/news/dispform.aspx?isdlg=1&amp;ID=<xsl:value-of select="@ID"/>");</xsl:attribute>
       <xsl:value-of select="@Title"/>
</a>

или лучше, но используйте шаблоны значений атрибутов, например

<a title="{@Title}">
   onclick="OpenPopUpPage('/lists/news/dispform.aspx?isdlg=1&amp;ID={@ID}');">
   <xsl:value-of select="@Title"/>
</a>

, поскольку это делает код короче и легче для чтения.

...