2016-09-16 81 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