2016-09-16 39 views
0

這一定是有史以來最簡單的問題,但我不知道答案。我剛剛注意到(在我的情況下)使用類似Eval(「Location」)的東西總是會在輸出結尾處創建尾隨空格。通常我不在乎尾隨空間,但在特定情況下,它必須被移除。我嘗試過使用replace(),但只適用於文本本身,但不適用於尾隨空格,例如「San Francisco」變成「SanFrancisco」,但尾部空格仍然存在。請讓我知道如何擺脫它。我檢查了我的文字,最後沒有空格。Kentico - 轉換Eval()和末尾的空格

Eval("Location").ToString().Replace(" ","") 

回答

0

您正在查找的函數是.Trim(),它將從字符串中刪除尾隨和前導空格。所以,你可以使用

Eval("Location").ToString().Trim() 

但是,如果使用.Replace()不移除尾隨空格,那麼我會說的空間是不是從外地來本身,而是來自東西后,它在轉型。

如果您的代碼是這樣的: "<%#Eval("Location").ToString().Trim()%> [other content]"那麼該字段內容和其餘內容之間總會有空格。也許在你評估該領域後檢查轉換並查看是否有空間?

+0

其實,我也嘗試都TRIM()和替換()。它看起來像空間不是字符串的一部分 – Michelle

+0

既然你已經提到[其他內容],雖然我沒有它,它幫助。我在一行上測試了<%#Eval(「Location」)%><%#Eval(「Location2」)%>,之間沒有空格 - 末尾沒有空格。但是,如果<%#Eval(「Location」)%>下一行<%#Eval(「Location2」)%>,則兩個末尾都會有尾部空格。系統或輸入代碼的窗口必須添加它,奇怪的是它會這樣做。 – Michelle

+0

請在示例中粘貼您的轉換代碼,以幫助我們找出語法中的任何缺陷。 –

0

由於布蘭登已經提到過,你正在尋找的功能是.Trim()這隻適用於字符串,雖然。所以,如果它不工作,你很可能需要到該對象轉換爲使用下列之一的字符串:

ValidationHelper.GetString(Eval("Location"), "").Trim()
Eval<string>("Location").Trim()

+0

謝謝。我認爲這不是字符串,而是系統。您可以快速測試如<%#Eval(「YourTextField」)%><%#Eval(「YourTextField」)%>。您會看到系統在輸出中添加了一個空格,就像您的2 eval()之間的空間一樣。在我的情況下,我使用了2 eval()的硬回車/下一行,並且空間也在那裏。我認爲它應該像普通的文本編輯器那樣行事,你的空間不會轉化爲輸出空間。請測試並讓我知道 - 只是爲了我的理智:) – Michelle