我正在尝试使用.tostring.remove(n)
. 使用语句下面的代码IIf
确认字符串是 ISNullOrEmpty 并返回True
or False
。如果true
返回的字符串""
放置在 aspx 页面中(这工作正常),则问题出现在 IsNullOrEmpty 返回时触发的第二部分False
。
根据一个False
值检查字符串长度,如果字符串长度等于或超过 17 个字符,则返回一个值,并且使用如果返回一个值True
来截断字符串,则该字符串保持不变。.ToString.Remove(n)
False
问题是,如果字符串是 1 个字符或 20 个字符长,则会不断发生以下错误:
startIndex must be less than length of string
这是代码块:
<%# IIf(String.IsNullOrEmpty(Convert.ToString(DataBinder.Eval(Container.DataItem, "SponsorEmail"))),
"",
IIf(Convert.ToString(DataBinder.Eval(Container.DataItem, "SponsorEmail")).Length > 17,
Eval("SponsorEmail").ToString.Remove(17),
Eval("SponsorEmail")))%>
数据绑定器从中提取数据的数据库表确实允许 NULLS,并且仅当任何给定记录存在 NULL 或空字符串时才会发生。
请帮助,这让我发疯了!!!