Ciao a tutti!

Sto usando Razor (NON MVC!) e ho un helper con questo codice, che serve per estrarre dei dati in forma gerarchica.

codice:
@{
    var db =Database.Open(App.connDatabase);
    var treeViewx = db.Query("SELECT * FROM Cat ORDER BY CatName ASC");

   @BuildTreeView(treeViewx,0).ToString()
}


@helperBuildTreeView(IEnumerable<dynamic> data,int catParent,int? idcatparent =0,int level =0,string acc ="")
    {
var nodes = data.Where(n => n.IdCatParent== idcatparent).OrderBy(n => n.Id);
var sep ="";
stringCompl="";

// @Html.Raw("<tbody>");
if(nodes.Any())
    {
    if(nodes.First().IdCatParent!=null)
        {
        if(level >0)
            {
            sep =" >> ";
            }
        }

    if(level ==0)
        {
        //@Html.Raw("<p>");
        }
    foreach(var node in nodes)
        {
        var fullText = acc + sep + node.CatName;


        // @Html.Raw(string.Format("\r\n<a href=\"{0}\">modifica</a>", node.Id, fullText, selectRecord));

        Compl="["+string.Format("{1},{0}", node.Id, fullText)+"],";
        //Compl = Compl + Compl;

        @BuildTreeView(data, catParent, node.Id, level +1, fullText);
        /////

        <div>@Compl</div>

        }

    }

}

}
Funziona bene ma il problema è che vorrei, invece di mostrare a video i risultati con il <DIV>, concatenarli tutti in un unica stringa all'interno di una variabile, così:

codice:
varTree="["Cat1","1"], [["Cat1","1"], ["Cat2","2"]], ...

Sapete darmi una mano?