Here is an example of what I am attempting to do. Im sure this could be done in page with a repeater but I purley want to use code behind C# 
Int32 InitialCategoryId = SelectedCategoryId;

CategoryDataComponent.CategoryRow ReturnedData1 = GetParentCategoryRowById(InitialCategoryId);
if(ReturnedData1 != null)
{
        CategoryDataComponent.CategoryRow ReturnedData2 = GetParentCategoryRowById(ReturnedData1.CategoryId);
        ---- What could I put in here so that this can be repeated until there is no more CategoryId's to access.
} 
---- This could be done several times depending on the orginal
ID. The results are sent to associated labels depending on how many
results are returned. Also i dont know how to count results. If anybody
understands what im trying to do here your help is much appreciated Go to the complete details ...