ASP.NET Postback und Div Style
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:
Das Javascript Visuality blendet dann das <DIV> mit dem Namen divName dann ein oder aus (1 oder 0).
opt_1.Attributes.Add("onclick", "Visuality('divName',0) ;");
opt_2.Attributes.Add("onclick", "Visuality('divName',1) ;"); 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 :wall: |
Re: ASP.NET Postback und Div Style
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:
Die Javascriptmethode collapseDiv1/2 (ist dann Dein Job ;-) ) schliesst / öffnet das div dann je nachdem, ob da hinten dann true oder false drin steht.
<script>
collapseDiv1(<%= RadioButton1.Checked.ToString() %>); collapseDiv2(<%= RadioButton2.Checked.ToString() %>); </script> |
Re: ASP.NET Postback und Div Style
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:
AutoLoad ist wieder ein Javascript:
<script>
AutoLoad() ; </script>
Code:
Also dieses ganze Webgedöhns raubt mir immer wieder den letzten Nerv... Aber jetzt klappts wohl.
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) ; } Besten Dank. |
Re: ASP.NET Postback und Div Style
Bin totaler Noob in Sachen ASP.Net und steh' gerade wahrscheinlich auf irgendeinem Schlauch (wer den da bloß wieder hingelegt hat :stupid: ), 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"); } |
Re: ASP.NET Postback und Div Style
Zitat:
Ich kann somit dein Beispiel leider nicht nachvollziehen. |
Re: ASP.NET Postback und Div Style
Der Div-Tag braucht ne Id und das Argument runat="Server" in der Markup.
Das ist allerdings nicht wirklich der ganz saubere Stil. |
Re: ASP.NET Postback und Div Style
Aaah.... Das war der Trick...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:02 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