Comment changer le SelectMethod de ObjectDataSource par programmation?
Supposons que j'ai un ObjectDataSource, ce objectdatasource "SelectMethod de la propriété" est réglé sur "GetProjectsByUsername" d'un Projet de classe et en acceptant un paramètre.
<asp:ObjectDataSource ID="GetProjectsDataSource" runat="server" SelectMethod="GetProjectsByUsername"
TypeName="BusinessLayer.Project">
<SelectParameters>
<asp:ControlParameter ControlID="hiddenUsername" Name="username" PropertyName="Value"
Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
Maintenant, Est-il possible de changer la propriété SelectMethod de cette ObjectDataSource à une méthode qui accepte deux paramètres au cours de méthode OnInit? par exemple
MethodName : GetProjectByUsernameDeptCd()
Paramètres : Nom D'Utilisateur , DepartmentCode
Je voudrais changer la méthode de sélection par l'Utilisateur des Rôles. J'ai essayé de la recherche et de l'Internet, mais il semble que je n'ai pas de chance. De toute façon je voulais faire comme:
si ( Rôle est Admin )
Utiliser la valeur par défaut SelectMethod et de Paramètres, qui est déclarée dans ASPX
d'autre
Modifier la SelectMethod "GetProjectByUsernameDeptCd"
Ensemble paramètre1 = valeur1
Ensemble paramètre2 = valeur2
Ou je pensais que si il y a d'autres de meilleures façons de le faire.
Merci et Meilleures Salutations,
Sherwin
OriginalL'auteur Sherwin | 2011-04-25
Vous devez vous connecter pour publier un commentaire.
Essayer cette
Hey merci, ne peut pas croire que c'est si facile. >.< je pensais à l'appel des délégués lol.
OriginalL'auteur Bala R
Oui, vous pouvez le faire dans le OnSelecting cas de l'ObjectDataSource dans un fichier code-behind.
Ex.
Pour plus de détails, veuillez lire ci-dessous les articles :
1. http://weblogs.asp.net/rajbk/pages/426642.aspx
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.objectdatasource.selecting%28v=vs.90%29.aspx
http://www.asp.net/data-access/tutorials/programmatically-setting-the-objectdatasource-s-parameter-values-vb
Espère que cela va aider..
Bonne Programmation!
OriginalL'auteur Saurabh
Avez-vous essayé le C# code-behind? Au lieu de le définir dans le aspx balisage, allez dans le fichier code-behind, et de le faire là.
OriginalL'auteur John Batdorf