这样为什么错了呀??

sy246 2004-10-25 12:14:49
<font size="2">·<%# Convert.ToString(DataBinder.Eval(Container.DataItem, "BookName")).Substring(0,9) %>...</font>
...全文
93 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
echoxue 2004-10-25
  • 打赏
  • 举报
回复
up
sy246 2004-10-25
  • 打赏
  • 举报
回复
提示:
System.ArgumentOutOfRangeException:索引和长度必须引用该字符串内的位置。参数名: length

为什么呀?
51106354 2004-10-25
  • 打赏
  • 举报
回复
gl637() 的方法你可以使用哟
sy246 2004-10-25
  • 打赏
  • 举报
回复
谢谢楼上各位!
gl637 2004-10-25
  • 打赏
  • 举报
回复
public string GetSub(object obj)
{
string str=obj.ToString();
if(str.Length<=22) return str;
return str.Substring(0,22)+"...";
}

<%# GetSub(DataBinder.Eval(Container.DataItem, "BookName"))%>
这样也可以
zzcwhq 2004-10-25
  • 打赏
  • 举报
回复
你的意识我明白了,你是想当大约9个字符时只显示9个,然后...
这样处理吧
<script language='javascript'>
var tmp= '<%# DataBinder.Eval(Container.DataItem, "BookName")%>';
tmp= tmp.length>10?tmp.substring(0,10)+"...":tmp;
document.write("<font size='2'>·"+tmp+"</font>");
</script>
  • 打赏
  • 举报
回复
你能确定你的bookname的长度都大于9吗?
_jfeng 2004-10-25
  • 打赏
  • 举报
回复
<font size="2">·
<%#
if(Convert.ToString(DataBinder.Eval(Container.DataItem, "BookName")).Lenth>9)
Convert.ToString(DataBinder.Eval(Container.DataItem, "BookName")).Substring(0,9)
%>...</font>
NEO 2004-10-25
  • 打赏
  • 举报
回复
举个例子:Convert.ToString(DataBinder.Eval(Container.DataItem, "BookName"))
得到的书名为 “abcd”
然后.Substring(0,9),书名长度为4,你确取9个字符,当然会出错了。
sy246 2004-10-25
  • 打赏
  • 举报
回复
怎么没有人回我呀??是不是我给的分少了?
sy246 2004-10-25
  • 打赏
  • 举报
回复
自己顶顶!

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧