La déclaration d'une DataTable et l'ajout de colonnes à l'extérieur de la méthode
Je veux déclarer un DataTable à l'extérieur de la Page_Load de la méthode (ou toute autre méthode)
mais incapable de le faire.
Je veux quelque chose comme ça.
Protected void Page_load(object sender ,EventArgs e)
{
//Outside this or any other method
}
DataTable dt = new DataTable("testingDt");
dt.Columns.Add("Site A");
dt.Columns.Add("Site B");
dt.Columns.Add("Site C");
Je peux déclarer une DataTable et ajouter des colonnes à l'intérieur de méthodes et de faire ce que je veux avec eux, mais la réflexion pourquoi je n'arrive pas à quelque chose comme ça.
- Je pense que La Question n'est pas mauvais que vous, les gens sont de le traiter
Vous devez vous connecter pour publier un commentaire.
Comme Habib a déjà mentionné: "Vous pouvez déclarer et instancier le datatable à l'extérieur de votre méthode, mais vous ne pouvez pas ajouter des colonnes à l'extérieur de la méthode."
Plus: je ne voudrais pas la déclarer en dehors d'une méthode ASP.NET depuis, tous les objets sont éliminés à la fin de l'actuel page-cycle de vie de toute façon. Qui encouragerait les méchants bugs si vous oubliez de ce fait.
Au lieu de cela je voudrais utiliser un nommé significative méthode pour initialiser et de remplir votre
DataTable
.par exemple:
Maintenant, vous pouvez l'utiliser partout où, par exemple:
Vous pouvez déclarer et instancier le datatable à l'extérieur de votre méthode, mais vous ne pouvez pas ajouter des colonnes ou d'effectuer toute opreation sur l'extérieur de la méthode.
Vous ne pouvez pas ajouter de colonnes ou de lignes, etc. elle
Tout d'abord, je tiens à vous Tim Schmelter réponse pour la meilleure pratique pour les Objets et les ASP.NET le cycle de vie. Pour citer de lui directement:
Ainsi, alors votre Page peut "avoir" un DataTable, la façon ASP.NET est conçu, c'est qu'il ne gardera pas votre DataTable autour. C'est un mauvais. Au lieu de cela, vous ne déclarez et remplir la Table de données pour la méthode que vous en avez besoin pour.
Si vous souhaitez tout simplement pour éviter la copie de votre "créer une colonne" code autour de différentes méthodes, vous pouvez ajouter des colonnes dans un document distinct de la méthode et de l'appeler en tant que de besoin, quelque chose comme: