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


Variabel till User Control

Postades av 2005-05-18 11:20:55 - Rikard Nilsson, i forum asp.net generellt, Tråden har 11 Kommentarer och lästs av 402 personer

Jag laddar dynamiskt olika User Controls som användare kan ladda upp på servern. UC laddas upp och registreras i en XML-fil med info om namnet på UC. T.ex. Html.ascx.

Hur kan jag överföra variabler till den laddade UC?

Dim myControl As Control = CType(LoadControl("~/" & UC & ".ascx"), Control)


Svara

Sv: Variabel till User Control

Postades av 2005-05-18 11:23:06 - Björn Österman

Nu har jag inte jobbat med dynamisk laddade "User Controls", men jag skulle tippa på att det egentligen bara är att "casta" den till rätt typ, och sedan accessa de publika fält som du vill ändra på.

// MvH Björne


Svara

Sv:Variabel till User Control

Postades av 2005-05-18 11:31:32 - Rikard Nilsson

Du menar så här:

Dim myControl As Html = CType(LoadControl("~/Html.ascx"), Html)
myControl.Text = "Lite text"


Men eftersom det laddas upp nya UC som inte kan förprogrammeras på min sida så faller detta. Eller har jag missuppfattat dig?


Svara

Sv: Variabel till User Control

Postades av 2005-05-18 12:00:14 - Björn Österman

Om du inte vet vad det är för typ på controllern, hur skall du då veta vilka fält som du skall editera?

// MvH Björne


Svara

Sv:Variabel till User Control

Postades av 2005-05-18 12:15:40 - Johan Svensson

Man behöver iofs inte casta till en speciell typ. Fördelen med casting är att man i editorn får intellisense som hjälper en att visa vilka egenskaper som är tillgängliga och kompilatorn hjälper en att hitta fel.

Kör man otypat (som Object) så funkar det lika bra, men man får ingen hjälp från utvecklingsmiljön.

// Johan


Svara

Sv: Variabel till User Control

Postades av 2005-05-18 12:51:14 - Rikard Nilsson

Till Björn: Jag kan ha en standard property i alla UC för att överföra data. T.ex. ID så att kontrollen kan söka info i en databas eller XML-fil.

Till Johan: Hur gör jag för att köra otypat?


Svara

Sv:Variabel till User Control

Postades av 2005-05-18 13:09:38 - Björn Österman

Ifall du har standard-fält som UserControllern måste implementera så kan du kräva att de som skapar den måste implementera ett speciellt interface som du ger till dem. Sen kan du cast:a till den interface-typen.

Ett andra sätt du kan göra är att hämta properyn med reflection.

otypat kan du köra genom att sätta "Option Strict Off" och deklarera objetet till type "Object", och sedan bara accessa ".ID" på det objectet. (Jag är inte själv allt någon fan av Late Binding, eftersom jag programmerar i C#, där det inte finns).

En sak som du bör tänka på när du accessar en Property på en User Controll som någon annan har gjort så är det faktiskt en funktion som du kallar på. Det innebär att personen som gjort objektet kan göra i princip vad som helst mot din kod. Till och med accessa privata fält i dina objekt. Så säkerhetsrisken är överhängande. Du kan begränsa vad den User Controllern får gör med .NET-restriktioner (vilket jag inte har satt mig in i (än)).

// MvH Björne


Svara

Sv: Variabel till User Control

Postades av 2005-05-18 13:51:54 - Johan Svensson

Rikard,

Björne svarade på frågan om otypat så där har jag inget att tillägga.

Björne,

Allvar? GÅr det inte att ha otypat i C#? Då lärde man sig något nytt i dag också... :-)

Men jag funderar vidare. Object ligger ju i .Net platformen inte i VB namespacet så borde det inte gå att använda i C#.Net också? Kan förstå om det inte finns i miljöer utanför .Net.

// Johan


Svara

Sv:Variabel till User Control

Postades av 2005-05-18 14:05:13 - Björn Österman

Rickard: objectet "Object" finns såklart i C# också, men ifall du vill accessa någon parameter, function etc på ett object så måste man casta det först. Det är C#-kompilatorn inte inte tillåter Late Binding. Man får lite sämre prestanda.

Själv har jag inte saknat "Late Binding", och i de fallen som man inte vet vad det är för typ så använder man reflection.

// MvH Björn


Svara

Sv: Variabel till User Control

Postades av 2005-05-18 14:15:42 - Rikard Nilsson

Hej Björn!

Jag måste börja med säga att ditt kunnande är imponerande!

Hur implementerar jag ett standard interface?


Svara

Sv:Variabel till User Control

Postades av 2005-05-18 14:25:31 - Björn Österman

> Jag måste börja med säga att ditt kunnande är imponerande!
Ah, smicker gör en lycklig =)

Interfacet implementerar du med:
<code>
Interface MyCompany.Interfaces.IanIDInterface
Property ID() As String
End Interface
</code>

Kompilera det till en dll och ge till den som skall implementera interfacet, eller skicka kodsnutten så kan han lägga in den själv. Det är dock viktigt att det fullständiga namnet på classen är exakt likadan.

Kunden skapar sedan sin class med:
<code>
Public Class MyCustomerClass
Implements MyCompany.Interfaces.IanIDInterface
... kundens implementation av classen och interfacet
End Class
</code>

// MvH Björne


Svara

Sv: Variabel till User Control

Postades av 2005-05-18 14:55:20 - Rikard Nilsson

Nu funkar det!!!

Tack Björn!


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 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

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 612
27 953
271 709
6 658
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