AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke C# ASP.NET Postback und Div Style
Thema durchsuchen
Ansicht
Themen-Optionen

ASP.NET Postback und Div Style

Ein Thema von Jelly · begonnen am 22. Nov 2007 · letzter Beitrag vom 23. Nov 2007
Antwort Antwort
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#1

ASP.NET Postback und Div Style

  Alt 22. Nov 2007, 15:49
Ich tu mir mal wieder verdammt schwer mit einer ASP.NET Anwendung:

Ich 2 Radiobuttons (ASP.NET WebControls.RadioButton). Je nachdem welcher der beiden gewählt wird, blende ich über JavaScript ein <DIV> Element ein aus. Das klappt so wie es soll. Dazu habe ich einfach im Page_Load Event der Seite jeweils für die Radiobutton mittels
Code:
opt_1.Attributes.Add("onclick", "Visuality('divName',0) ;");
opt_2.Attributes.Add("onclick", "Visuality('divName',1) ;");
Das Javascript Visuality blendet dann das <DIV> mit dem Namen divName dann ein oder aus (1 oder 0).

Die Sache hat aber einen Haken. Es handelt sich um ein Webformular, das beim Posten noch einige serverseitige Validierungen macht. Schlägt die Validierung fehl, so wird das Formular erneut angezeigt. Das hat dann aber den Nebeneffekt, dass das <DIV> nicht entsprechend meiner Radiobutton Wahl sichtbar ist oder nicht. Ich suche eine Möglichkeit, beim Page_Load Event der Seite, ein <DIV> Element einzublenden oder auszublenden. Ich weiss aber nicht, wie ich aus dem C# heraus an mein <DIV> Element komme
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.606 Beiträge
 
#2

Re: ASP.NET Postback und Div Style

  Alt 22. Nov 2007, 15:58
Gar nicht.
Das Problem ist, dass das Div in der aspx kein Objekt im Sinne von ASP.NET ist, und Du es somit auch nicht manipulieren kannst.

An das Ende der Seite im ASPX gibst Du dann ein JavaScript aus:
Code:
<script>
  collapseDiv1(<%= RadioButton1.Checked.ToString() %>);
  collapseDiv2(<%= RadioButton2.Checked.ToString() %>);
</script>
Die Javascriptmethode collapseDiv1/2 (ist dann Dein Job ) schliesst / öffnet das div dann je nachdem, ob da hinten dann true oder false drin steht.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#3

Re: ASP.NET Postback und Div Style

  Alt 22. Nov 2007, 16:24
Das wars... Und ich hab jetzt die letzten 30 Minuten im OnLoad vom <Body> Tag rumgeschraubt, und das wollte nicht so recht.

Jetzt so (oder zumindest ähnlich), wie du vorschlägst, klappt es dann. Ganzen unten in der Html Seite folgendes eingefügt:
Code:
<script>
  AutoLoad() ;
</script>
AutoLoad ist wieder ein Javascript:
Code:
function Visuality(divElement, visible)
        {
            if (visible != 0)
                document.getElementById(divElement).style.display="inline" ;
            else
               document.getElementById(divElement).style.display="none" ;
           
        }
       
        function AutoLoad()
        {
            if (document.getElementById("opt_1").checked)
                Visuality("divName", 0) ;
            else
                Visuality("divName", 1) ;
        }
Also dieses ganze Webgedöhns raubt mir immer wieder den letzten Nerv... Aber jetzt klappts wohl.

Besten Dank.
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#4

Re: ASP.NET Postback und Div Style

  Alt 22. Nov 2007, 17:18
Bin totaler Noob in Sachen ASP.Net und steh' gerade wahrscheinlich auf irgendeinem Schlauch (wer den da bloß wieder hingelegt hat ), aber Folgendes funktioniert bei mir wunderbar:
XML-Code:
 <div>
        <asp:RadioButtonList ID="radioList" runat="server">
            <asp:ListItem Selected="True">Wähl mich!</asp:ListItem>
            <asp:ListItem>Wähl mich bloß nicht!</asp:ListItem>
        </asp:RadioButtonList>
        <asp:Button ID="Button1" runat="server" Text="Postback" />
        


        <div id="div" runat="server">
        Gute Wahl.
    </div>
    </div>
Code:
protected void Page_Load(object sender, EventArgs e)
    {
      bool first = true;
      foreach (ListItem item in radioList.Items) {
         item.Attributes.Add("onclick",
            string.Format("Visuality('div',{0}) ;", first.ToString().ToLower()));
         first = false;
      }

      if (radioList.SelectedIndex != 0)
         div.Style.Add(HtmlTextWriterStyle.Display, "none");
    }
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#5

Re: ASP.NET Postback und Div Style

  Alt 23. Nov 2007, 07:44
Zitat von Khabarakh:
Code:
div.Style.Add(HtmlTextWriterStyle.Display, "none");
Mich wundert allerdings, wie du auf div zugreifen kannst
Ich kann somit dein Beispiel leider nicht nachvollziehen.
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.606 Beiträge
 
#6

Re: ASP.NET Postback und Div Style

  Alt 23. Nov 2007, 07:45
Der Div-Tag braucht ne Id und das Argument runat="Server" in der Markup.
Das ist allerdings nicht wirklich der ganz saubere Stil.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#7

Re: ASP.NET Postback und Div Style

  Alt 23. Nov 2007, 09:00
Aaah.... Das war der Trick...
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz