2012-01-04 2 views
1

J'utilise des contrôles ASP.Net comme (TextBox, liste déroulante) dans ma page UserControl et tous sont rendre invisible pour ce que j'utilise (Edit). Il y a un bouton de lien pour modifier dans la même page. Je veux le rendre visible au client. quelqu'un peut-il suggérer comment devrais-je faire. ou tout autre moyen de le faire.rendre le contrôle asp.net visible true au client using onClick peroperty de LinkButton

+0

En général, le bouton d'édition va provoquer un postback où vous pouvez définir les autres contrôles visibles = True – Prescott

+0

Thanx, Oui Il est postbacking. Alors que j'ai besoin de quelque chose côté client qui ne sera pas postback. et j'ai plus de 20 contrôles qui seront éditables séparément. J'ai donc besoin d'une fonction côté client pour appliquer l'événement onClick. est-il possible? –

+0

Avez-vous essayé d'utiliser la fonctionnalité [AJAX] (http://msdn.microsoft.com/en-us/library/ee341002.aspx)? Le fait de placer vos contrôles dans un [UpdatePanel] (http://msdn.microsoft.com/en-us/library/system.web.ui.updatepanel.aspx) peut vous aider à activer votre bouton d'édition pour effectuer un appel côté client. de la publication habituelle. – CedX

Répondre

4

Pour ce faire avec Javascript vous voulez supprimer l'attribut OnClick du LinkButton et utiliser l'OnClientClick attribut pour appeler une fonction Javascript à la place:

<asp:LinkButton ID="lb_link_button" runat="server" Text="Click Me" OnClientClick="return ToggleShowHide()"/> 

Voici une fonction Javascript correspondant pour afficher/masquer une contrôle nommé my_control en utilisant sa propriété style.display:

<script type="text/javascript">   
    function ToggleShowHide() { 
     var control = document.getElementById("<%= my_control.ClientID %>"); 
     if (control.style.display == "none") { control.style.display = "block"; } 
     else { control.style.display = "none"; } 
     return false; 
    } 
</script> 

Vous pouvez faire référence à la commande (s) pour afficher/cacher de diverses manières, ceci est juste un exemple simple. Remarque: le ou les contrôles à définir visibles/invisibles doivent et non avoir leur propriété Visible définie comme false, à la place, ils doivent être déclarés avec un affichage: none; style comme suit:

<asp:Control runat="server" ID="my_control" Visible="true" style="display:none;"/> 
Questions connexes