Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Dölja samtliga Panels

Postades av 2003-06-06 17:01:24 - Andreas Brantmo, i forum asp.net generellt, Tråden har 7 Kommentarer och lästs av 777 personer

Hur gör man för att dölja samtliga Panels på en sida?

Jag vill ha en sub där man skickar med den panel som ska visas och alla andra ska döljas. Hittar ingen lösning som fungerar.

Tack på förhand.


Svara

Sv: Dölja samtliga Panels

Postades av 2003-06-06 17:23:30 - Christer Engholm

Du kan väl använda en vanlig javascript funktion, typ:

<code>
<script language="javascript">
function handlePanels(showPanelID){

var getPanels = document.getElementsByTagName("DIV");

for(i=0; i<getPanels.length; i++){
if(getPanels[i].id == "showPanelID"){
document.all(getPanels[i].id).style.visibility = "visible";
}else{
document.all(getPanels[i].id).style.visibility = "hidden";
}
}
</script>
</code>

och subben:

<code>
Public Sub HandlePanels(strShowPanelID As String)

Response.Write("<script>handlePanels('" & strShowPanelID & "');</" & "script>")

End Sub
</code>

Med reservation för slarvfel, hoppas du förstår principen.



Svara

Sv: Dölja samtliga Panels

Postades av 2003-06-06 18:02:34 - Fredrik Normén

Om du vill göra det på serversidan så gör följande:

Sätt Runat="server" på din panel eller panels och unika id:n.
Sedan i din sub skriver du bara id:et på panel och sätter dess visible property till false eller true, beroende på om du ska dölja eller visa.
ex:

<code>
<asp:Panel id="myPanel" runat="server"/>
</code>

Code-behind eller inom script block som är runat server:

<code>
public sub MySub(Control panel)
panel.visible = !panel.visible;
end sub

</code>

/Fredrik N


Svara

Sv: Dölja samtliga Panels

Postades av 2003-06-07 15:44:45 - Andreas Brantmo

Nja, jag vill göra det på serversidan. Men det jag söker är en generell funktion som döljer samtliga paneler på sidan.

Jag har försökt att loopa genom Page.Controls utan att lyckas, typ:

<code>
dim myControl as Control

for each myControl in Page.Controls

myControl.Visible = false

next
</code>

Då döljer den samtliga kontroller. Jag vill endast komma åt Panel-kontrollerna och sätta visible för respektive till false.

Nån som vet?


Svara

Sv: Dölja samtliga Panels

Postades av 2003-06-07 21:13:09 - Fredrik Normén

Du kan göra följande:


<code>
dim myControl as Control

for each myControl in Page.Controls

if myControl is Panel then
myControl.Visible = false
end if

next
</code>


/Fredrik N


Svara

Sv: Dölja samtliga Panels

Postades av 2003-06-08 14:32:37 - Andreas Brantmo

Då får jag felet:

'Panel' is a type and cannot be used as an expression.

Det verkar som det inte går att få ut paneler genom page.controls. För när jag skriver ut typerna vid varje loop så blir det följande:

ResourceBasedLiteralControl
HtmlForm
LiteralControl
(alltså inte paneler)

Mycket märkligt. Jag är fortsatt tacksam för all hjälp jag kan få.


Svara

Sv: Dölja samtliga Panels

Postades av 2003-06-08 15:03:28 - Fredrik Normén

Använder du dig av en <asp:Panel> på siten?
Tänk på att om du har en controll inom en annan tex:

<code>
<asp:PlaceHolder runat="server">

<asp:Panel runat="server"/>

</asp:PlaceHolder>
</code>

Så via Page.Controls kommer du bara åt PlaceHolder. För att komma åt en kontroll i en kontroll så kan du tex göra något likt detta:

<code>

if Page.HasControls() then
ListControl(Page.Controls)
end if

sub ListControl(ControlCollection myControls)

dim control as Control

for each control in myControls

if control.HasControls() then
ListControl(control.Controls)
end if

Response.Write(control.ToString() & "<br>")

next

end sub

</code>

Detta kanske inte hjälper dig men annars kanske det kommer i använding någon annan gång.

/Fredrik N


Svara

Sv: Dölja samtliga Panels

Postades av 2003-06-08 15:08:51 - Andreas Brantmo

Ja, Fredrik. Det var vad felet berodde på. Här är lösningen som jag fick till att fungera.

<code>
Public Sub showPanel(ByVal thePanel As Control)

Dim myForm As ControlCollection = Page.FindControl("Form1").Controls
Dim myControl As Control

For Each myControl In myForm

If myControl.GetType.ToString = "System.Web.UI.WebControls.Panel" Then

myControl.Visible = False

End If
Next

thePanel.Visible = True

End Sub
</code>

Tack för tipsen.


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 155
27 952
271 704
6 042
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies