2009-03-17 7 views
2

Ich habe eine Steuer Benutzer, deren Struktur -Update-Panel und Javascript

<updatepanel UpdateMode="Always"> 
<ContentTemplate> 
    <asp:FormView> 
    <EditItemTemplate> 
     <table> 
      <tr id='tr1'> 
      <td> 
       Textbox1 
       btn1 
      </td> 
      </tr> 
      <tr id='tr2'> 
      <td> 
        textbox2 
      </td> 
      </tr> 
     <table> 
    </EditItemTemplate> 
    </asp:FormView> 
</ContentTemplate> 
</updatepanel> 

Auf Seite Last Ich verwende folgende TR2

ClientScriptManager cs = Page.ClientScript; 
csText.AppendLine(""); 
csText.AppendLine("if(document.getElementById('tr2')!=null) 
      document.getElementById('tr2').style.display = 'none';"); 
csText.AppendLine(""); 
cs.RegisterStartupScript(this, this.GetType(), csName, csText.ToString(), false); 

Dieser Teil funktioniert gut zu verstecken. Jetzt klicke ich auf den btn1 und öffne das modale Popup-Extender-Steuerelement. Dies bewirkt, dass der tr2 erneut angezeigt wird. Ich weiß, dass das Skript mit dem updatePanel inline sein muss. Ich habe versucht, ScriptManager.RegisterStartupScript(....); zu verwenden, funktioniert aber nicht. Auch der updateMode muss immer so sein, dass die Daten von pop extendar in die Textbox1 gesetzt werden können.

All die Hilfe ist willkommen. Danke

Antwort

0

Da Sie ein UpdatePanel verwenden, brauchen Sie dafür kein JavaScript.

Wenn Sie Ihr TR2 Element ändern ...

<tr id="tr2" runat="server"> 

dies ermöglicht es Ihnen, es in Ihrem Server-seitigen Code zu steuern. Um Ihre tr2 Zeile zu verstecken, einfach tun ...

tr2.Style["display"] = "none"; 

Dies sollte die Dinge schön auf Callbacks synchronisieren.

+0

Dies war meine erste Lösung.Das Problem damit ist, dass die Daten in die Steuerelemente innerhalb der Reihe (tr2) eingegeben werden, sie nicht gebunden werden korrekt.Ich meine, die Daten werden nicht nach Postback erhalten. Ich habe eine nächste Schaltfläche außerhalb dieser äußerste updatepanel.Onclick, von dem ich benutzerdefinierte Ereignis feuere, um die Daten zurückzubekommen –