奇怪的问题,大家帮我看看。。

stning 2009-12-07 02:58:39
 private string GetPagingContent(DataTable data, List<string> PagingContent)
{
string _allContent = "";
foreach (string Paging in PagingContent)
{
string StrPage = MainPage.GetPage(Paging);
if (StrPage != "")
{
for (int i = 0; i < data.Rows.Count; i++)
{
if (data.Rows[i]["Type"].ToString() == "内容")
{
int StaHtmlCharCount = data.Rows[i]["StartHtml"].ToString().Length;
string s = data.Rows[0]["StartHtml"].ToString();
if (StrPage.Contains(data.Rows[i]["StartHtml"].ToString()) && StrPage.Contains(data.Rows[i]["EndHtml"].ToString()))
{
int StaHtmlS = StrPage.IndexOf(data.Rows[i]["StartHtml"].ToString()) + StaHtmlCharCount;
int StaHtmlE = StrPage.IndexOf(data.Rows[i]["EndHtml"].ToString(), StaHtmlS);
string content = StrPage.Substring(StaHtmlS, StaHtmlE - StaHtmlS);
_allContent += content;
}
else
{

}
}
}
}
}
return _allContent;
}


在代码中。蓝色的能取到data.Rows[i]["StartHtml"].ToString().Length长度,应该就是有值,但是红色的要取值的时候,就没有了,调试的话,string s是什么都没显示。连null,或者是""。都没有。到if判断。直接跳出for循环。
...全文
126 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
hongqing000 2009-12-08
  • 打赏
  • 举报
回复
up
stning 2009-12-07
  • 打赏
  • 举报
回复
up
APP开发王 2009-12-07
  • 打赏
  • 举报
回复
UP
stning 2009-12-07
  • 打赏
  • 举报
回复
更加奇怪的事,走到if,就直接跳出里面的循环了
stning 2009-12-07
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 lovelan1748 的回复:]
引用 2 楼 lemong 的回复:
第一行用的i,第二个怎么变成0了??取的不是一行阿

是啊
[/Quote]见四楼的回复
wartim 2009-12-07
  • 打赏
  • 举报
回复
你换成
MessageBox.Show(i.ToString+" "+data.Rows[i]["StartHtml"].ToString());
看看
stning 2009-12-07
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 lemong 的回复:]
调试,监视一下呢,看看里面是什么
[/Quote]调试了,什么都没有
lemong 2009-12-07
  • 打赏
  • 举报
回复
调试,监视一下呢,看看里面是什么
lovelan1748 2009-12-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lemong 的回复:]
第一行用的i,第二个怎么变成0了??取的不是一行阿
[/Quote]
是啊
真相重于对错 2009-12-07
  • 打赏
  • 举报
回复
row[i]

row[0]
一样吗?
stning 2009-12-07
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zhukui 的回复:]
应该是第0行的StartHtml值为DBNull
[/Quote]为空的话int StaHtmlCharCount = data.Rows[i]["StartHtml"].ToString().Length;
这个确能取到长度
stning 2009-12-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lemong 的回复:]
引用 1 楼 stning 的回复:
int StaHtmlCharCount = data.Rows[i]["StartHtml"].ToString().Length;
                           string s = data.Rows[0]["StartHtml"].ToString();



第一行用的i,第二个怎么变成0了??取的不是一行阿
[/Quote]我改0测试的。改i也一样
lemong 2009-12-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 stning 的回复:]
int StaHtmlCharCount = data.Rows[i]["StartHtml"].ToString().Length;
                           string s = data.Rows[0]["StartHtml"].ToString();

[/Quote]

第一行用的i,第二个怎么变成0了??取的不是一行阿
zhukui 2009-12-07
  • 打赏
  • 举报
回复
应该是第0行的StartHtml值为DBNull
stning 2009-12-07
  • 打赏
  • 举报
回复
int StaHtmlCharCount = data.Rows[i]["StartHtml"].ToString().Length;
string s = data.Rows[0]["StartHtml"].ToString();

111,122

社区成员

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

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

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