请各位认真看完后再回答,谢谢!代码:protected void news_list_ItemDataBound(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e)
{
DataRowView row;
Label mCon;
int StartNum = 0,EndNum=0;
string Content;
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
row = (DataRowView)e.Item.DataItem;
mCon = (Label)e.Item.FindControl("Label_con");
Content = stripHtml(row["content"].ToString());
StartNum = Content.IndexOf(SKeywords);
if (StartNum <= 0)
StartNum = 0;
EndNum = StartNum + 10;
if (EndNum > Content.Length)
EndNum = Content.Length;
Content = Content.Substring(StartNum, EndNum);
mCon.Text = Content;
}
}
stripHtml(row["content"].ToString())是去除HTML格式
我把StartNum改成0就不报错了,可是我动态读取StartNum的值,就会报错:索引和长度必须引用该字符串内的位置。
参数名: length 请问,是什么问题?
{
DataRowView row;
Label mCon;
int StartNum = 0,EndNum=0;
string Content;
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
row = (DataRowView)e.Item.DataItem;
mCon = (Label)e.Item.FindControl("Label_con");
Content = stripHtml(row["content"].ToString());
StartNum = Content.IndexOf(SKeywords);
if (StartNum <= 0)
StartNum = 0;
EndNum = StartNum + 10;
if (EndNum > Content.Length)
EndNum = Content.Length;
Content = Content.Substring(StartNum, EndNum);
mCon.Text = Content;
}
}
stripHtml(row["content"].ToString())是去除HTML格式
我把StartNum改成0就不报错了,可是我动态读取StartNum的值,就会报错:索引和长度必须引用该字符串内的位置。
参数名: length 请问,是什么问题?
解决方案 »
- 继续ASP.NET生成静态页面&生成的html页面运用ajax实现更新的一些问题
- 未将对象引用设置到对象的实例..
- js 获取字符问题
- 应用程序中的服务器错误 ASP.NET
- 求助json.js问题!很急高手进!
- asp.net ajax问题:应用MasterPage后,在<asp:Content>里用JavaScript刷新UpdatePanel时会引起整个页面的刷新,单页时无这种问题。为什么?
- urf-8,gb2312,urlencode的编码问题
- █████[100分求学] 有哪位能介绍一下我这个数据平台需要注意什么,详细功能请看贴内描述 + 散分
- 关于表单间参数传递的问题
- div弹出层,在线等
- GridView自定义模板的编辑,更新,取消,删除
- 朋友们,给理性分析下。本人路怎么走,谢谢。
也就是说,Content.Substring(StartNum, EndNum)语句的含义是从第StartNum个字符开始,截取长为EndNum的字符串。看你的意思应该是截取10长的字符串,所以应该这么写:Content.Substring(StartNum, 10); 当然,还要判断是否够长:if(Content.Length-StartNum >= 10)
Content.Substring(StartNum, 10);
else
Content.Substring(StartNum); // 截取到结尾
这个语句里做为参数的“SKeywords”是哪里来的
Content = Content.Substring(StartNum, EndNum);
改成
Content = Content.Substring(StartNum, EndNum - StartNum);