Dipende da quanto è dinamico il tuo testo.
Se per intenderci hai solo due possibili testi ( fissi ) potrei essere d'accordo con te, tanto varrebbe scriverli nell'aspx. In quel caso personalmente metterei due Label o due Div con all'interno i due testi e da codice li renderei visibili a seconda del tipo di utenza nella Load, più che usare la modalità "ASP" ( se mi passi il termine ).
Ma se i tipi di utenti iniziano a diventare più di due, o se il testo deve iniziare ad essere personalizzato ( tipo con nome utente, ultima login, compleanno, news ) preferisco mettere un'unica label nel markup e nel VB piazzare una
codice:
Select Case TipoUtente
Case "admin"
Label.Text = String.Formt("Egregio {0}, situazione {1}", .....)
Case "utente"
Label.Text = String.Formt("Gentile {0}, situazione {1}", .....)
Case "operatore"
Label.Text = String.Formt("Caro {0}, situazione {1}", .....)
End Case
In generale quello che fai nel code behind lo puoi fare spesso anche nell'aspx, è più che altro una questione di ordine e leggibilità : avere grandi testi nel markup insieme a pezzi di codice lo snatura in quanto si perde di vista lo scheletro dell'interfaccia. D'altra parte l'asp.net si distingue dall'asp proprio per una visione dell'interfaccia molto più fedele alla sua natura di codice di Markup rispetto alla pagina vista come costruita "dall'alto in basso"