comment modifier dynamiquement la chaîne de connexion dans la source de données d'objet dans asp.net?Comment modifier une chaîne de connexion de manière dynamique dans une source de données d'objet dans asp.net?
0
A
Répondre
4
protected void ObjectDataSource1_ObjectCreated(object sender, ObjectDataSourceEventArgs e)
{
if (e.ObjectInstance != null)
{
SqlConnection conn = new SqlConnection();
conn.ConnectionString = MyConnectionManager.ConnectionString;
e.ObjectInstance.GetType().GetProperty("Connection").SetValue(e.ObjectInstance, conn, null);
}
}
J'espère que cela aide.
1
Je n'ai pas ci-dessus pour travailler, mais ce fait:
if (e.ObjectInstance != null)
{
((ReportPrototype.ReleasedRatingsDataTableAdapters.RatingsViewTableAdapter)e.ObjectInstance).Connection.ConnectionString = ConfigurationManager.ConnectionStrings["RADSDataConnectionString"].ConnectionString;
}
ObjectInstance est l'adaptateur de table qui dans mon cas était le type lié à la ObjectDataSource.
0
est ici une approche qui fonctionnera pour tous les adaptateurs de table générés, en utilisant la réflexion:
void OnObjectDataSourceObjectCreated(object sender, ObjectDataSourceEventArgs e)
{
if (e.ObjectInstance != null)
{
((SqlConnection)e.ObjectInstance.GetType()
.GetProperty("Connection", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance)
.GetValue(e.ObjectInstance, null)
).ConnectionString = ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;
}
}
Notez que Microsoft propriété de connexion génère est créé comme interne (sur mon VS 2013), vous devez donc donner BindingFlags .NonPublic à GetProperty.
Et bien sûr, câbler l'événement ObjectCreated d'une façon ou d'une autre:
ObjectDataSource ObjectDataSource1 = new ObjectDataSource();
...
ObjectDataSource1.ObjectCreated += OnObjectDataSourceObjectCreated;
Questions connexes
- 1. Modifier l'encodage de l'image de manière dynamique?
- 2. Comment modifier une base de données Access d'ISO-8859-2 en UTF-8 dans une chaîne de connexion?
- 3. Chaîne de connexion ASP.NET
- 4. Comment rediriger vers une URL de connexion dynamique dans ASP.NET MVC
- 5. Comment sélectionner une chaîne de manière aléatoire
- 6. Chaîne de connexion dynamique basée sur la variable de session
- 7. Source de données Reportviewer dans asp.net-mvc
- 8. Connexion de connexion MysqlCommand de manière inattendue
- 9. Sortie de l'image dynamique dans la source d'un contrôle asp.net
- 10. Comment configurer une source de données ColdFusion MySQL via SSL?
- 11. Manière plus efficace de décaper une chaîne
- 12. Chaîne de connexion SQL Express enfoncée ASP.Net
- 13. Comment écrire une chaîne de connexion SQL correcte?
- 14. Connexion à une base de données dans Dreamweaver CS4 - grisé
- 15. AS400 Connexion de données dans ASP.NET
- 16. Gestion d'une chaîne de connexion dynamique avec DAAB
- 17. VSTO 3.0 Obtenir/modifier une connexion de classeur Excel 2007
- 18. Comment obtenir les informations d'identification de la source de données SSRS et ouvrir une connexion SQL dans .NET
- 19. Localisation de chaîne dynamique dans WPF
- 20. Comment créer de manière dynamique plusieurs contrôles dans Silverlight?
- 21. Comment rechercher une chaîne dans toute la base de données?
- 22. Comment enregistrer une chaîne cryptée dans la base de données?
- 23. Comment modifier une cible Xcode existante de dynamique à statique?
- 24. Visual Studio - Modifier le code source situé dans une base de données
- 25. Comment spécifier le numéro de port dans une chaîne de connexion oledb à SQL Server 2005?
- 26. Comment ajouter un partenaire de basculement à une chaîne de connexion dans VB.NET
- 27. authentification Active Directory dans ASP.Net - aide chaîne de connexion nécessaire
- 28. ASP.NET System.Data.EntityClient chaîne de connexion aide
- 29. Outil de migration Mysql, chaîne de paramètres source | chaîne de connexion pour le serveur SQL
- 30. Comment afficher une table avec une source de données XML?
commentaire tardif: Je suis incapable de faire le travail de réponse acceptée, comme je reçois une référence nulle pour les résultats de ' GetProperty ("Connection") ', mais cette technique fonctionne toujours pour moi dans ASP.NET 4. – jbeldock