Frage

Ich habe eine C # .NET-Seite, wo ich will Zeilen Einsturz bringen, wenn eine Taste gedrückt wird. Ich fand viele Tutorials wie diese ( http://codingforums.com/archive/ index.php? t-90375.html ), versuchten, ihre Lösungen zu implementieren, aber keiner von ihnen etwas für mich tun, wenn ich meine Schaltfläche klicken. Um sicherzustellen, dass ich nicht verrückt zu werden, habe ich eine kleine Testseite nur um zu sehen, ob die Idee funktioniert. Aus irgendeinem Grund ist es nicht. Der Browser ist IE6. Ich bin mit Visual Studio 2005. Ist eine Idee, jemand, warum dies nicht funktioniert? Die gerenderte Seite zeigt einen Knopf und eine Textzeile wie ich erwarten würde; die Textzeile verschwindet nicht, wenn ich auf die Schaltfläche klicken. Ich weiß, ich divs verwenden könnte, aber nicht vergessen, dies ist nur ein Proof of Concept ist; in meiner realen Anwendung ist es Tabellenzeilen, die kollabieren muss.

<%@ 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>
War es hilfreich?

Lösung

1) Die Anzeige ist (wahrscheinlich) nicht 'Block' zunächst. Versuchen Sie:

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

2) Die ID der Steuerung wird nicht das sein, was Sie denken, es ist dank Naming Container . Prüfen Sie die HTML-Quelle

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top