Ich finde Anwendungen für beide Modelle, aber tendieren dazu, das Markup in den Aspx-Seiten zu verwenden, wo ich kann, weil es einfacher zu lesen ist und mir hilft, meinen Ansichtscode von meinem Logikcode zu trennen. Die Stellen, an denen ich Steuerelemente programmatisch erstelle und Daten an sie binde, sind, wenn ich eine dynamische Anzahl von Steuerelementen brauche. Ein gutes Beispiel hierfür könnte sein, wenn Sie eine Reihe von Drop-downs dynamisch für Benutzer Suchkriterien zu erzeugen - ich so etwas tun würde:
SqlDataReader dr;
// Set up database connection and set dr to search query.
while(dr.Read())
{
Literal name = new Literal();
name.Text = dr["Name"] + ": ";
Page.Controls.Add(name);
DropDownList ddl = new DropDownList();
ddl.ID = "Search_" + dr["ID"];
SqlDataReader dr2;
// Set up database connection and set dr2 to search items query.
while(dr2.Read())
{
ListItem li = new ListItem(dr2["Name"], dr2["Value"]);
ddl.Item.Add(li);
}
Page.Controls.Add(ddl);
}
Eine andere Sache im Auge zu behalten ist, Sie Markup-Steuerelemente erstellen können Ihre Aspx-Seite und binden Sie sie dann an benutzerdefinierte DataSets, die Sie in Ihrem Code-Behind füllen.