1/1页1 跳转到查看:382
发新话题 回复该主题

[0509][后台]频道位置导航循环总超时

[0509][后台]频道位置导航循环总超时

这里的 getCHPositionSTR(DynStr, int.Parse(drn["ParentID"].ToString()), Str, ChID)这句运行时老超时,数据库中数据等没有问题,该程序也合乎逻辑,但是总超时!希望能优化一下


文件路径:NetCMS.Publish\Label\NewsParameter.cs

public string getCHPositionSTR(string DynStr, int ID, string Str,int ChID)
        {
            if (dimmDir.Trim() != string.Empty)
            {
                dimmDir = "/" + dimmDir;
            }
            string PStr = string.Empty;
            switch (Str)
            {
                case "ChClass":
                    IDataReader dr = CommonData.DalPublish.GetCHPosition(ID, 0, ChID);
                    if (dr.Read())
                    {
                        PStr = "<a href=\"" + getCHClassURL(ChID, int.Parse(dr["isDelPoint"].ToString()), int.Parse(dr["id"].ToString()), dr["SavePath"].ToString(), dr["FileName"].ToString()) + "\">" + dr["classCName"].ToString() + "</a>" + DynStr;
                        if (dr["ParentID"].ToString() != "0")
                        {
                            PStr = getCHPositionSTR(DynStr, int.Parse(dr["ParentID"].ToString()),Str,ChID) + PStr;
                        }
                    }
                    dr.Close();
                    break;
                case "ChNews":
                    IDataReader drn = CommonData.DalPublish.GetCHPosition(ID, 1, ChID);
                    if (drn.Read())
                    {
                      PStr = "<a href=\"" + getCHClassURL(ChID, int.Parse(drn["isDelPoint"].ToString()), int.Parse(drn["id"].ToString()), drn["SavePath"].ToString(), drn["FileName"].ToString()) + "\">" + drn["classCName"].ToString() + "</a>" + DynStr;
                      if (drn["ParentID"].ToString() != "0")
                        {
                            PStr = getCHPositionSTR(DynStr, int.Parse(drn["ParentID"].ToString()), Str, ChID) + PStr;
                        }
                    }
                    PStr += "正文";
                    drn.Close();
                    break;
                case "ChSpecial":
                    IDataReader drs = CommonData.DalPublish.GetCHPosition(ID, 2, ChID);
                    if (drs.Read())
                    {
                        PStr = "<a href=\"" + getCHSpecialURL(ChID, 0, int.Parse(drs["id"].ToString()), drs["SavePath"].ToString(), drs["FileName"].ToString()) + "\">" + drs["specialCName"].ToString() + "</a>" + DynStr;
                        if (drs["ParentID"].ToString() != "0")
                        {
                            PStr = getCHPositionSTR(DynStr, int.Parse(drs["ParentID"].ToString()), Str, ChID) + PStr;
                        }
                    }
                    PStr += "专题报道";
                    drs.Close();
                    break;
                default:
                    break;
            }
            return PStr;
        }




此问题已解决.


解决方法是:

将case "ChNews":
........
  PStr = getCHPositionSTR(DynStr, int.Parse(drn["ParentID"].ToString()), Str, ChID) + PStr;
.......
红色部分改为"ChNews"

即PStr = getCHPositionSTR(DynStr, int.Parse(drn["ParentID"].ToString()), "ChNews", ChID) + PStr;
最后编辑兴兴在线 最后编辑于 2008-06-30 17:23:50

TOP

 

回复:[0509][后台]频道位置导航循环总超时

已经收录,谢谢

TOP

 

回复:[0509][后台]频道位置导航循环总超时

牛人。

TOP

 
1/1页1 跳转到
发表新主题 回复该主题