如何在concatenated string中正确地检查asp.net的长度?
如果Eval("FirstName")和Eval("LastName")的总长度大于21,我想缩短字符串并添加“.”直到最后。
<span id="userNameText">
<%if (string.Concat(Eval("FirstName"), " ", Eval("LastName")).ToString().Length > 21)
{
string.Concat(Eval("FirstName"), " ", Eval("LastName")).ToString().PadRight(19).Substring(0, 19).TrimEnd() + "...";
}
else
{
string.Concat(Eval("FirstName"), " ", Eval("LastName"));
}
%>
</span>发布于 2015-03-31 15:59:07
你可以用帮手的方法来完成这个.
public static string Truncate(string source, int length)
{
if (source.Length > length)
{
source = String.Concat(source.Substring(0, length), " ...");
}
return source;
}
<span id="userNameText">
<%= Truncate(string.Concat(Eval("FirstName"), " ", Eval("LastName")).ToString(), 21) %>
</span>https://codereview.stackexchange.com/questions/71148/truncate-string-method
发布于 2015-03-31 14:23:40
不能在Eval中使用if else,而可以在c#(?:)中使用三元操作符。
<span id="userNameText">
<%# (string.Concat(Eval("FirstName"), " ", Eval("LastName")).ToString().Length > 21) ? string.Concat(Eval("FirstName"), " ", Eval("LastName")).ToString().PadRight(19).Substring(0,19).TrimEnd() + "..." : string.Concat(Eval("FirstName"), " ", Eval("LastName")) %>
</span>https://stackoverflow.com/questions/29370590
复制相似问题