递归显示问题?
后台代码:
private string className = " ";
public string ClassIDToName(string id)
{
string sql = "select classname,parentid from materialclass where id= ' " + id + " ' ";
SqlDataReader reader = DbHelperSQL.ExecuteReader(sql);
if (reader.Read())
{
className += reader.GetString(0) + "/ ";
string parentid = reader[ "parentid "].ToString();
reader.Close();
if (parentid != "0 ")
{
ClassIDToName(parentid);
}
}
return className;
}
前台代码:
<ItemTemplate>
<asp:Label ID= "Label1 " runat= "server " Text= ' <%# ClassIDToName(Convert.ToString(Eval( "classid "))) %> '> </asp:Label>
</ItemTemplate>
类别名称
11//22//33
11//22//33/11/22//33
问题是 gridview 显示的时候 重复显示了?
------解决方案--------------------其实这种方法反复读数据库,效率很低的
可以考虑在数据库里写个存储过程计算分类的ClassName