2011-11-13 50 views
1

注意:這是一個asp.net頁面,但XSLT轉換正在發生在客戶端。 所以我想在一個asp.net textarea的設置默認值,它被轉義,這是造成我的問題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> 

在文本區把字面上

我想在那裏得到非轉義值....如果我只是使用普通的文本區域一樣

<textarea rows="5" cols="5"> 
<xsl:value-of select="/oohru/form/desc" /> 
</textarea> 

它正常工作....我怎樣才能做到這一點與ASP.NET控制?這基本上打破了我的客戶端xslt,但只在文本區...

謝謝!

注意:我也嘗試在文本區域內使用text =「{/ oohru/form/desc}」......文本區域包含精確的oohru/form/desc而不是參考值。

+0

將溶液最終成爲 ' ' 當我需要引用它是 值的CS文件裏'Description.InnerText' 希望這有助於在未來的人用類似的問題! – Jordan

回答

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控件已經蒸發後的客戶端方式。

在這種情況下,答案是:不,你不能與textareaasp:TextBox控制任何標記(不是文本節點等節點)生成 - 它只是產生在它裏面的文字。

因此,您必須明確生成服務器上的textarea<xsl:value-of>

+0

我實際上正在做轉換客戶端。我應該指定...所以我不能用XSLT創建控件。常規文本區域正常工作...我只是希望使用.net控件,所以我不必編寫一些驗證等。 – Jordan

+0

@Jordan,我更新了關於這個新信息的答案。你不能使用'asp:TextBox'來產生'textarea'內的文本。 –

+0

備受讚賞。就像一個FYI,你可以在一個文本框中,而不是一個多行的... 作爲一個例子 '' 可以很好地生成/ oohru/form/oohrl保存的實際值,而不是文本文本。由於某些原因,文本區域的處理方式不同。 – Jordan

0

您可以在代碼隱藏中將TextBox控件的Text屬性綁定到此值。這可能會起作用。順便說一句,什麼是XSL和你想要打印什麼。

0

XSL和ASP.NET並不是真正的朋友。

你可以嘗試類似於你會發現here的東西,但是如果你可以 - 將你的xsl移植到資源文件。