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


Komma åt komponenter från en undersida till en masterpage?

Postades av 2007-06-14 12:24:02 - Fredrik Pettersson, i forum asp.net generellt, Tråden har 9 Kommentarer och lästs av 738 personer

Hej!

Jag använder mig av masterpage för att bygga upp min webbplats och nu vill jag komma åt en asp:hyperlink från en av undersidornas code-behind. Hur gör jag?


Svara

Sv: Komma åt komponenter från en undersida till en masterpage?

Postades av 2007-06-14 12:43:35 - Andreas Thorarins


Master.FindControl("ditt id")


Svara

Sv:Komma åt komponenter från en undersida till en masterpage?

Postades av 2007-06-14 12:52:10 - Fredrik Pettersson

Tack!

Men borde man inte kunna komma åt dem direkt innan kompilering i codebehind?


Svara

Sv: Komma åt komponenter från en undersida till en masterpage?

Postades av 2007-06-14 13:32:23 - Johan Djupmarker

Vill minnas att det finns något bättre sätt, men kan inte komma på vad man ska googla efter... =/

Här kan du dock se ett sätt (casta master-propertyn): http://www.codeproject.com/aspnet/InsideMasterPages.asp

/Johan


Svara

Sv:Komma åt komponenter från en undersida till en masterpage?

Postades av 2007-06-14 13:57:25 - Andreas Thorarins

för att slippa sökningen som findcontroll , och få en anningen snyggare kod kan du använda properties på masterpagen , som beskrivs i artikeln.

ska du t.ex. bara ändra text på en label , så kan du ju ha en propertie på masterpagen

Master.MinLabelText = "hej";

skulle då motsvara

((Lable)Master.FindControl("minlabel")).Text = "hej";

själv använder jag property fallet eftersom det blir renare kod, men frågan var ju hur man kom åt controllen :)


Svara

Sv: Komma åt komponenter från en undersida till en masterpage?

Postades av 2007-06-14 14:13:05 - Janne Aho

Testa det här:

<code>
//Leta upp din contentplaceholder
ContentPlaceHolder myContent = (ContentPlaceHolder)Master.FindControl("controlname");
//Leta upp den specifika kontrollen
HyperLink myHyperlink = (HyperLink)myContent .FindControl("controlname ");
</code>


Svara

Sv: Komma åt komponenter från en undersida till en masterpage?

Postades av 2007-06-15 08:07:29 - Fredrik Normén

Många har get mer eller mindre ett svar på denna fråga, men här kommer ett till ;)

Du kan som det redan nämns köra med FindControl, tänk bara på att FindControl tittar på en kontrollnivå, den söker inte rekursivt ner kontrollstrukturen.

Ett annat sätt som jag tycker är mer elegant är att exponera ut kontrollen från MasterPage via en property. Genom att exponera ut den som en property så kan du tex bara skriva "return myHyperLink". Du behöver inte leta upp den, utan bara returnera instansen. För att sedan komma åt den via din content page, så använder du dig av Page objektets Master property. Men eftersom Master propertyn returnerar typen MasterPage så måste du göra en casting för så du kommer åt ditt interface (i detta fallet din property). Detta kan du göra på 2 olika sätt. Med casting eller med @MasterType. Du kan läsa mer om det på min blog:

http://fredrik.nsquared2.com/ViewPost.aspx?PostId=123

/Fredrik Normén
ASP.Net MVP - Cornerstone


Svara

Sv:Komma åt komponenter från en undersida till en masterpage?

Postades av 2007-06-15 09:25:53 - Fredrik Pettersson

Tack för alla svaren!

Men jag måste ändå säga att jag är förvånad över att det inte finnas en mer självklar lösning. Jag har ganska begränsade kunskaper i objektorienterad programmering men eftersom man refererar till mastersidan i contentsidan, borde man inte kunna ärva ner de publika kontrollerna..? I alla fall tycker jag att det skulle vara den snyggaste lösningen. Men sen att masterpage inte är byggt på det sättet är väl en annan sak :)


Svara

Sv: Komma åt komponenter från en undersida till en masterpage?

Postades av 2007-06-15 09:47:05 - Fredrik Normén

Jag förstår lite hur du tänker, för många vill se MastePage som en basklass som ärvs, men så är det inte. MasterPage är enbart en mall. För att komma åt mallens komponenter så använder vi Master egenskapen. Master returnerar instancen av mallen som används. Men eftersom den returnerar MasterPage som typ, så måste vi göra en casting för att komma åt vårt egna interface. Men vi kan med MasterType se till att Master egenskapen på Page får vår typ vid bygget av sidan. Jag tycker väl personligen att den borde få vår typ med en gång då vi ändå anger en MasterPage. Tycker det är lite onödigt att vi behöver använda MasterType.. men MS har valt att implementera det så, men de lyssnar på feedback.. :)

http://connect.microsoft.com/Main/content/content.aspx?ContentID=2220 <- Här kan du skicka in dina feedback.

Ha en underbar helg!

/Fredrik Normén
ASP.Net MVP - Cornerstone
blog: http://fredrik.nsquared2.com


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 169
27 953
271 705
1 048
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