2009-03-21 6 views
5

Dans l'événement PageLoad du formulaire, je ne peux pas référencer le contrôle côté serveur dans le modèle connecté. Qu'est-ce que je rate. Alors, quand je suis connecté je montrerai le contrôle de zone de texte sinon je montrerai texte comme « s'il vous plaît vous connecter pour faire soso .. »Contrôle Loginview: comment référencer les contrôles côté serveur à l'intérieur du modèle consigné

S'il vous plaît aider ..

+0

BTW .. c'est pour le contrôle LoginView. –

+0

Merci beaucoup !!!!! –

Répondre

7

vous pouvez utiliser la méthode FindControl sur votre commande LoginView à get them ...

TextBox t = (TextBox)LoginView2.FindControl("TextBox1"); 
string s = null; 

if (t != null) 
{ 
    // textbox is in the current scope of the LoginView 
    s = t.text; 
} 
else 
{ 
    // the textbox is not in the current scope of the LoginView. 
} 

Cependant, cela ne fonctionnera que pour les contrôles qui sont actuellement dans la vue affichée du contrôle LoginView. Vous devez tester que vous affichez la vue connectée avant d'essayer d'extraire la zone de texte, ou vous pouvez également tester que FindControl ne renvoie pas une référence null.

+1

Cela ne fonctionne pas. J'ai essayé ceci ... TextBox t = (TextBox) LoginView2.FindControl ("TextBox1"); chaîne s = t.Texte; et c'est l'erreur que j'obtiens ... La référence d'objet n'est pas définie sur une instance d'un objet. –

+1

oui, ne fonctionne pas pour moi aussi – Marko

+1

cela ne fonctionne pas pour moi – Nurlan

-1

Si vous ne parvenez toujours pas à référencer l'objet caché, vous risquez de ne pas saisir la bonne valeur. Supposons que vous ayez une liste déroulante appelée "DropDownList1" imbriquée dans un fichier loggedInView. Vous devez définir un nouvel objet qui utilise la méthode FindControl de la classe DropDownList, puis utilisez cet objet NOUVEAU:

DropDownList d = (DropDownList)ucLogin.FindControl("DropDownList1"); 

     bool answer = d.SelectedValue.StartsWith("S"); 
     if (answer == true) 
     { 
      Response.Redirect("~/MemberPages/ChangePassword.aspx"); 
     } 

Dans mon cas, je suis redirigeant l'utilisateur vers une nouvelle page si que les objets à valeur sélectionnée commence avec un "S".

Fonctionne pour moi, et j'espère que cela fonctionne pour vous!

  • Ben Sewards
+0

cela ne fonctionne pas pour moi – Nurlan

Questions connexes