Значение по умолчанию для текстовой области asp.net - PullRequest
1 голос
/ 13 ноября 2011

Примечание. Это страница asp.net, но XSLT-преобразование происходит на стороне клиента. Поэтому я пытаюсь установить значение по умолчанию в текстовой области asp.net, и оно экранируется, что вызывает у меня проблемы

Вот текстовая область 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">
&lt;xsl:value-of select="/oohru/form/desc" /&gt;
</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, а не указанное значение.

Ответы [ 3 ]

1 голос
/ 13 ноября 2011

Вы, похоже, пытаетесь использовать 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> на сервере.

0 голосов
/ 13 ноября 2011

XSL и ASP.NET на самом деле не друзья.

Вы можете попробовать что-то вроде того, что вы найдете здесь , но если вы можете - перенести xsl в файл ресурсов.

0 голосов
/ 13 ноября 2011

Вы можете связать свойство Text элемента управления TextBox с этим значением в выделенном коде. Это может сработать. Кстати, что такое xsl и что вы хотите напечатать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...