Question

J'ai une page C # .NET dans laquelle je veux faire en sorte que les lignes se réduisent lorsqu'un bouton est enfoncé. J'ai trouvé de nombreux tutoriels comme celui-ci ( http://codingforums.com/archive/ index.php? t-90375.html ), ont tenté de mettre en œuvre leurs solutions, mais aucune d’elles ne fait quoi que ce soit pour moi lorsque je clique sur mon bouton. Pour m'assurer que je ne devenais pas fou, j'ai créé une petite page de test, juste pour voir si l'idée fonctionnait. Pour une raison quelconque, ce n'est pas. Le navigateur est IE6. J'exécute Visual Studio 2005. Quelqu'un sait-il pourquoi cela ne fonctionne pas? La page rendue affiche un bouton et une ligne de texte comme je l’attendais; la ligne de texte ne disparaît pas lorsque je clique sur le bouton. Je sais que je pourrais utiliser des divs, mais souvenez-vous que ce n'est qu'une preuve de concept. dans mon application réelle, ce sont les lignes de la table qui doivent s'effondrer.

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Test.aspx.cs" Inherits="Project.Web.Auth.Test" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>Shop Financials</title>
    <link href="../StyleSheets/ClaimsV2.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript">     


        function btnClick(control)
        {   
            try
            {
                var id_table = document.getElementById(control).style;

                if(id_table.display == "block") 
                {
                   id_table.display = "none";
                }
                else 
                {
                    id_table.display = "block";
                }
            }
            catch(e)
            {
                alert(e);
            }   
       }

       function toDepositPrinterFriendly()
       {

       }

  </script>
</head>
<body>
    <form id="form1" runat="server">

    <table>
    <tr>
    <td><asp:Button runat="server" OnClientClick="javascript:btnClick('HeaderRow')"/></td>

    </tr>
    <tr id="HeaderRow" runat="server">
    <td>TEST2</td>

    </tr>    


    </table>

    </form>
</body>
</html>
Était-ce utile?

La solution

1) L'affichage est (probablement) pas "bloqué" initialement. Essayez:

if(id_table.display == 'none') 
{
  id_table.display = '';
}
else 
{
  id_table.display = 'none';
}

2) L'identifiant du contrôle ne sera plus ce que vous pensez, grâce à Nommage des conteneurs . Vérifiez votre source HTML

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top