我試圖使用.tostring.remove(n)
從字符串的末尾去除字符。代碼低於IIf
聲明確認該字符串是ISNullOrEmpty並返回True
或False
。如果true
返回""
字符串被放置在aspx頁面(這工作正常),問題出現在第二部分,當IsNullOrEmpty返回False
時觸發。InLine IIF Expression&DataBinder.Eval未按預期方式運行
在一個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")))%>
的數據庫表中的DataBinder的被拉伸它的數據來自NULLS,只有在任何給定記錄存在NULL或空字符串時纔會發生。
請幫忙,這讓我瘋狂!
很高興你告訴我這個,我會花更多的時間試圖理解爲什麼當字符串不夠長時,它試圖執行那部分代碼.... –