2012-05-10 59 views
0

對於由於某種可笑的業務規則限制而導致的問題,這可能是一個過於複雜的解決方案。從數據表單Web部件中的列表中提取數據

我有一個應該是窗體中央存儲庫的SharePoint站點。所以我在文檔中使用這些表單Library Only問題並不是所有的表單都放在那裏,有些信息表單是在其他地方託管的,有些「表單」實際上是其他的網頁。因此,我有一個使用表單名稱設置的列表,以及一個存儲該表單位置URL的列(包含本地庫中的表單),但是,Sharepoint對URL列類型有255個字符的RIDICULOUS限制,一行的文本具有相同的愚蠢限制,所以我將該列創建爲多行文本字段。我需要超過255個字符,因爲一些信息表單URL的相當長。 現在dataform Web部件的數據源是List。在我的aspx頁面中,我有以下內容,通過我認爲應該是表單位置的URL的文本,將其格式化爲超鏈接。

<ul><a href="{@FormLocation}" target="_blank"> 
<xsl:value-of select="@Title" /></a></ul></td> 

這是拉動文本並將其格式化爲超鏈接的部分。 @FormLocation是帶有文本url的列。 @標題是表格標題。

會發生什麼情況是,呈現的HTML get填充了我想要的url,但它與以下內容是PREFIXED。

http://MYSITESSANITISEDURL.za/en/prettysanitary/Documents/%3Cdiv%20class=%22ExternalClassDF5DF9081DE54EECB4500A4E7B5592A1%22%3E%3Cdiv%3E%3Ca%20href=%22

然後我需要的文本放置它,然後用

</a></div></div> 

被放在前綴實際上是頁面的Web部件上的位置後綴。

有沒有人有任何想法,爲什麼

<a href="{@FormLocation}" target="_blank"> 

通過拉比實際在@FormLocation列坐嗎?

我對分享點非常陌生,5個分享點「專家」在這裏完全不知道。

回答

0

我會檢查該列的XML內容使用< xsl:copy-of select =「* | @ *」\ >。然後,您可能需要使用xsl:value的xsl:屬性來轉義/迴避FormLocation顯示 -

+0

我很欣賞答案,但我必須說我不理解它。我在web和sharepoint上的經驗是3個月大。你能否給出更詳細的答案? –

+0

您將顯示

之間的XSLT片段。您可以使用(不帶引號)「XMLEMBEDDED ENDXMLEMBEDD」來更改該片段。使用瀏覽器加載頁面,然後在XMLEMBEDDED附近查找頁面源代碼(右鍵單擊瀏覽器頁面),您應該在查找之前使用XSLT格式化的列中查找內容。我懷疑你的內容可能被存儲爲超鏈接 – alrama