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


Sätta variabler i User controls

Postades av 2004-08-22 12:43:58 - Anna Franzén, i forum asp.net generellt, Tråden har 13 Kommentarer och lästs av 549 personer

Hej!
Jag skickar med en parameter i urlen till en av mina sidor. Detta värde fångar jag upp och lägger i en public variabel i .vb-filen (vi kan kalla den myVar).
Jag vill sedan använda värdet i denna publika variabel (myVar) att sätta värdet på en variabel i min usercontrol med. Låter krångligt, så här menar jag:

<MENUCONTROL:MENU id="Menu" runat="server" varPage="variabelvärde"></MENUCONTROL:MENU>

Där varPage nu får det statiska "variabelvärde" vill jag istället ha in värdet av myVar.

Hur ser syntaxen för detta ut? Får inte till det...

Mvh,
/Anna


Svara

Sv: Sätta variabler i User controls

Postades av 2004-08-22 14:30:42 - Johan Normén

Anna,

Hej,

Det enda du behöver göra är att sätta en publik property eller variabel i din user control.
Antingen i Script block eller i Code Behind.

Publik variabel är dock inte att föredra pga en rad olika skäl. Hinner inte ta upp dem just nu, men vill du veta så säg till.

Här fäljer exempel på en property:
<code>
Public Property Prop1() As String
Get
' The Get property procedure is called when the value
' of a property is retrieved.
Return PropertyValue
End Get
Set(ByVal Value As String)
' The Set property procedure is called when the value
' of a property is modified.
' The value to be assigned is passed in the argument to Set.
PropertyValue = Value
End Set
End Property
</code>

Sedan anropar du den så som du vill med ovan exempel typ:
<**:UserConteol Prop1="värde" />

Mvh Johan


Svara

Sv: Sätta variabler i User controls

Postades av 2004-08-22 17:09:24 - Anna Franzén

Hej JOhan!
Jag tror du missförstod min fråga lite.
Det jag menade att fråga var hur jag byter ut det nu statiska värdet av varPage nedan till värdet av en variabel. Se koden:
<MENUCONTROL:MENU id="Menu" runat="server" varPage="variabelvärde"></MENUCONTROL:MENU>

Har provat <MENUCONTROL:MENU id="Menu" runat="server" varPage=<%myVar%>>
där myVar är variabeln som innehåller värdet jag vill skicka med men så enkelt var det inte.

Mvh, Anna


Svara

Sv: Sätta variabler i User controls

Postades av 2004-08-22 17:16:49 - Mikael Deurell

Jag håller med Johan om lösning. När din pageklass är laddad så har du ju redan skapat kontrollträdet och då är det ju lite onödigt att trixa med attribut på usercontrol taggen. Verkar som ett tecken på feldesign... Varför inte sätta den från pageklassen med kod istället?

Varför inte din lösning med <% %> (inline) kod fungerar (en väldigt vanlig fråga) beror på asp.net arkitekturen. Jag har skrivit en artikel om detta på http://www.pellesoft.se/area/articles/article.aspx?artid=837&sum=0.

Lycka till!
/Micke


Svara

Sv: Sätta variabler i User controls

Postades av 2004-08-22 18:30:12 - Anna Franzén

Hej!
Efter att ha läst ditt svar förstår jag att jag missförstod Johan svar... (hade nog lite för bråttom).
Det verkar bli en bra lösning ni föreslår!

Ska även läsa din artikel du hänvisar till.

Tack för hjälpen!

Mvh,

Anna


Svara

Sv: Sätta variabler i User controls

Postades av 2004-08-22 22:13:59 - Mikael Deurell

Skriv gärna och berätta hur det går. Jag har lite förslag på kod om du fastnar...

mvh
Mikael


Svara

Sv: Sätta variabler i User controls

Postades av 2004-08-23 08:19:39 - Anna Franzén

Hej!
Problemet landar åter igen i det jag egentligen frågade om från början (sen att man fick massa andra tips och trix på vägen är en bonus).
När jag ska sätta propertien mha föreslagen kod
<**:UserConteol Prop1="värde" >
så vet jag ju fortfarande inte hur syntaxen ser ut för att istället för statiska "värde", använda värdet av en variabel. Det var ju här jag ville använda inline-kod, som jag nu vet inte fungerar.

Mvh, ANna


Svara

Sv: Sätta variabler i User controls

Postades av 2004-08-23 09:04:14 - Johan Normén

Anna,

Du kan sätta det statiska värdet i din CodeBehind om du kör med den arkitekturen.
Din control nås med det ID du satte så i Page_Load kan du exempelvis skriva:

MinControl.Prop1 = myValue <-- som är en variabel med data från exempelvis en querystring eller databas.

Detta är att rekomendera än att köra bindingar i html sidan. För att lösa det på det sätt du önskar
så anger du bara <%# myValue %> Där myValue måste vara en publik variabel för din sida.

Är nyfiken om du kör med Code Behind eller inline kode (scritp block i html sidan.)

Mvh Johan


Svara

Sv: Sätta variabler i User controls

Postades av 2004-08-23 09:32:18 - Anna Franzén

Hej Johan!
Nu fungerar inte mycket, vet inte om jag missförstår dig men jag får felmeddelande när jag försöker göra som du föreslår.
Jag jobbar så länge vidare med min publika variabel istället för property tills jag löst problemet med att få över ett värde.

Jag har på htmlsidan följande:
<%@ register TagPrefix="MenuControl" TagName="Menu" src="MenuControl.ascx"%>

Där kontrollen ska vara finns följande kod:
<MENUCONTROL:MENU id="Menu" runat="server" height="160">
</MENUCONTROL:MENU>

I codeBehind försöker jag göra som du föreslår:
OpenPage = Request.QueryString("ParamPage").ToString 'Detta värdet vill jag få över till min control
menu.CurrentPage = OpenPage 'där CurrentPage är en publik variabel i min control

Här får jag dock meddelandet "Name Menu is not declared".

Var har jag missuppfattat dig?

Stort tack för Din hjälp!

/ANna


Svara

Sv: Sätta variabler i User controls

Postades av 2004-08-23 09:55:18 - Johan Normén

Anna,

Det är rätt, men kolla högre upp i din codebehind om du har menu deklarerad. Om man i html sidan lägger till en kontroll, behöver man "tyvärr" oftast trycka på Design fliken för att Vs .net automatiskt skall deklarera kontrollen. (detta kommer man slippa i VS .Net 2005 som ser rätt annorlunda ut. alltså .Net 2.0.)

Mvh Johan


Svara

Sv: Sätta variabler i User controls

Postades av 2004-08-23 10:10:27 - Anna Franzén

Hej!
Jag har ju deklarerat den i html-delen?
<%@ register TagPrefix="MenuControl" TagName="Menu" src="MenuControl.ascx"%>

Behöver jag deklarera den även i codebehind alltså?

/Anna


Svara

Sv: Sätta variabler i User controls

Postades av 2004-08-23 10:13:59 - Johan Normén

Anna,

Nja, den skall bli deklarerad där med automatik, men blir den inte det så är svaret jag.
Det blir då typ.

Dim menu As <namespace>.class

Mvh Johan


Svara

Sv: Sätta variabler i User controls

Postades av 2004-08-23 16:18:23 - Fredrik Klarqvist

Johan:
"Nja, den skall bli deklarerad där med automatik"

I "gamla" VS.NET (2002 i alla fall) så får du ingen variabel deklarerad när du använder egna UserControl.s. Dessa måste alltid skrivas dit manuellt. Om inte så är det mitt VS som är kek... :)




Svara

Sv: Sätta variabler i User controls

Postades av 2004-08-23 17:09:52 - Johan Normén

Fredrik,

Jag kör 2003, men blev faktikst osäker om den lades dit automatiskt oxå. Lekt lite med 200 5och där gör den det om jag inte minns fel, var ett tagsedan jag byggde usercontrols eller customcontrols, suttit en del med BOL och DAL bitar den senaste tiden.

Dock är IDet mkt mer avancerat och till en massa fördelar i 2005an, så det skall bli riktigt kul när den kommer i en skarp version, måste bara ha System Team versionen. :-)

Tack för att du fyllde i.

Mvh Johan


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
794
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