login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[ASP.NET C#] Verbergen werkt niet

Offline gvdsloot - 07/07/2009 18:57 (laatste wijziging 07/07/2009 18:59)
Avatar van gvdslootLid Hallo, ik heb een probleem met C# in asp.net, ik ben asp.net aan het leren en was bezig met een oefening.

Ik wil in die oefening een formulier maken dat bestaat uit radiobuttons, 1 van de radiobuttons klapt uit als je er op klikt, nou is de bedoeling dat hij ook weer inklapt als je weer op een andere radiobutton clickt. Dit doet hij niet.

Hoe lost ik dit op?

Hier is de code, ik gebruik altijd codebehind.

Voorbeeld_Panel.aspx
  1. <%@ Page Language="C#" Src="voorbeeld_Panel.aspx.cs" Inherits="Prullenbak.Klasse" %>
  2. <html>
  3. <head>
  4. </head>
  5. <body>
  6. <form runat="server">
  7. <h2>Wat is je favoriete TV zender?
  8. </h2>
  9. <p>
  10. <asp:radiobutton id="n1" runat="server" GroupName="kanaal" Text="Geographic"></asp:radiobutton>
  11. <br />
  12. <asp:radiobutton id="n2" runat="server" GroupName="kanaal" Text="Discovery"></asp:radiobutton>
  13. <br />
  14. <asp:radiobutton id="n3" runat="server" GroupName="kanaal" Text="Playboy TV"></asp:radiobutton>
  15. <br />
  16. <asp:RadioButton id="n4" runat="server" Text="Anders" GroupName="kanaal" AutoPostBack="true" CheckedChanged="n4_CheckedChanged"></asp:RadioButton>
  17. <br />
  18. <asp:Panel id="Panel1" runat="server" visible="false">Andere TV zender
  19. <asp:TextBox id="TextBox1" runat="server"></asp:TextBox>
  20. <br />
  21. </asp:Panel>
  22. <asp:button id="Button1" onclick="Button1_Click" runat="server" text="Verzenden"></asp:button>
  23. <hr />
  24. </p>
  25. <p>
  26. </p>
  27. <p>
  28. </p>
  29. <div id="result" runat="server">
  30. </div>
  31. </form>
  32. </body>
  33. </html>


Voorbeeld_Panel.aspx.cs
  1. namespace Prullenbak {
  2. using System;
  3. using System.Web.UI;
  4. using System.Web.UI.WebControls;
  5. using System.Web.UI.HtmlControls;
  6. public class Klasse : System.Web.UI.Page {
  7.  
  8.  
  9. public RadioButton n1;
  10. public RadioButton n2;
  11. public RadioButton n3;
  12. public RadioButton n4;
  13. public HtmlContainerControl result;
  14. public Panel Panel1;
  15. public TextBox TextBox1;
  16. public void Button1_Click(object sender, EventArgs e) {
  17. if(n1.Checked) {
  18. result.InnerHtml = "U koos Geographic";
  19. } else if(n2.Checked) {
  20. result.InnerHtml = "U koos Discovery";
  21. } else if(n3.Checked) {
  22. result.InnerHtml = "U koos Playboy TV";
  23. }
  24. }
  25. public void Page_Load() {
  26. if(IsPostBack) {
  27. if(Panel1.Visible == false) {
  28. Panel1.Visible = true;
  29. } else {
  30. result.InnerHtml = "U koos "+ TextBox1.Text;
  31. }
  32. }
  33. }
  34. public void n4_CheckedChanged(object sender, EventArgs e) {
  35. if(!n4.Checked) {
  36. Panel1.Visible = false;
  37. }
  38. }
  39. }
  40. }

7 antwoorden

Gesponsorde links
Offline Koen - 07/07/2009 19:23
Avatar van Koen PHP expert Kan je dat niet beter rmet javascript oplossen? 
Offline gvdsloot - 07/07/2009 19:45
Avatar van gvdsloot Lid Ik wil graag de mogelijkheden van asp.net uitproberen.
Offline Martijn2008 - 07/07/2009 21:12
Avatar van Martijn2008 PHP beginner Je moet uit je toolbox RadioButtonList gebruiken en daaraan items toevoegen. Je moet dus niet verschillende radiobuttons in je project slepen. Deze hebben allemaal een ander id. Dat kun je ook ziet in je properties window(standaard in Visual Studio rechts-onderin).
Offline gvdsloot - 08/07/2009 01:41
Avatar van gvdsloot Lid Met de groupname los ik dit op, maar hoe kan ik het nou oplossen dat als de radiobutton niet meer geselecteerd is, het menutjes inklapt.
Offline Abbas - 28/07/2009 17:21
Avatar van Abbas Gouden medaille

Crew .NET
  1. <asp:RadioButtonList ID="RadioButtonList1" OnSelectedIndexChanged="radioChange"
  2. runat="server" AutoPostBack="True">
  3. <asp:ListItem Text="een" Value="een" />
  4. <asp:ListItem Text="twee" Value="twee" />
  5. <asp:ListItem Text="drie" Value="drie" />
  6. <asp:ListItem Text="vier" Value="vier" />
  7. </asp:RadioButtonList>
  8. <asp:Panel ID="pnlEen" runat="server" Visible="false">
  9. <asp:TextBox ID="txtEen" runat="server" />
  10. </asp:Panel>
  11. <asp:Button ID="btnEen" runat="server" Text="Klik" OnClick="btnClick" />

En de code erachter:

  1. protected void btnClick(object sender, EventArgs e)
  2. {
  3. Response.Write(RadioButtonList1.SelectedValue.ToString());
  4. }
  5.  
  6. protected void radioChange(object sender, EventArgs e)
  7. {
  8. if (RadioButtonList1.SelectedValue.Equals("vier"))
  9. pnlEen.Visible = true;
  10. else
  11. pnlEen.Visible = false;
  12. }
Offline rambo - 28/07/2009 18:30
Avatar van rambo HTML beginner En dit stuk kun je vervolgens ook nog herschrijven naar:

  1. protected void radioChange(object sender, EventArgs e)
  2. {
  3. if (RadioButtonList1.SelectedValue.Equals("vier"))
  4. pnlEen.Visible = true;
  5. else
  6. pnlEen.Visible = false;
  7. }


  1. protected void radioChange(object sender, EventArgs e)
  2. {
  3. pnlEen.Visible = RadioButtonList1.SelectedValue.Equals("vier");
  4. }


Offline Abbas - 28/07/2009 22:30
Avatar van Abbas Gouden medaille

Crew .NET
Juist, maar voor de duidelijkheid (omdat het blijkbaar nog geen gevorderde is) schreef ik het zo, zodat hij het gemakkelijker zou begrijpen! 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.207s