ora non so perchè tu voglia usare gli hidden field generati a quella maniera, ma se il tuo scopo è quello di salvarti semplicemente dei dati tra un postback e l'altro della pagina posso suggerirti una soluzione alternativa anzi due

puoi salvare questi dati o nel viewstate o nella sessione

ti mostro un esempio banale salvando dei dati di tipo stringa in questi due elementi

codice c#
codice:
 for (int i = 0; i <= 2; i++)
          {

             Session["nomekiave" + i.ToString()] = "oggetto";
             ViewState["nomekiave" + i.ToString()] = "oggetto";
          }


          string[] ValoreSessione = new string[3];
          IList<string> ValoreViewState = new List<string>();
          for (int i = 0; i <= 2; i++)
          {
             ValoreSessione[i] = (string)Session["nomekiave" + i.ToString()];
             ValoreViewState.Add( (string)ViewState["nomekiave" + i.ToString()]);
          }
ho usato un array per recuperare i valori dellla sessione e una lista per il viewstate ma è giusto per esempio!!!

Puoi fare come meglio credi!!!

ciao