Avatar billede roadrunr Nybegynder
03. juni 2003 - 10:31 Der er 4 kommentarer

"Funktionsnavn" som attribut

Hvis man benytter CustomerValitator, så har man mulighed for at angive en attribut "OnServerValidate", som indeholder navnet på den funktion, som skal benyttes til validering.

Hvordan executer CustomerValidator denne funktion, og samtidig indsætter default-parametrer?

Jeg har selv udviklet en Kontrol, hvor jeg på samme vis ønsker at tage navnet på den funktion, som skal udføres ind som parameter. Hvordan gør jeg det?
Avatar billede burningice Nybegynder
03. juni 2003 - 10:53 #1
tror det er events og delegates du søger efter :)

prøv at kig på denne tutorial (link taget fra .Net SDK)

ms-help://MS.NETFrameworkSDK/csref/html/vcwlkDelegatesTutorial.htm

På nettet: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/csref/html/vcwlkdelegatestutorial.asp
Avatar billede roadrunr Nybegynder
03. juni 2003 - 11:13 #2
Ja, det kunne umiddelbart godt være det. Men at komme fra eksemplet til min problem stilling, syntes for mig rimelig langt.

Det skulle gerne være sådan, at jeg har følgende kontrol:
<kontrol:TekstBoksMedValidering name="MinTekstBox" validatefunktion="ValidateName('[a-z0-9]')">

Dvs. jeg kan specificere en funktion (incl. parametrer), og så skulle denne funktion gerne udføres ved kontrollens "OnInit()" el.lign.
Kontrollen nedarver fra "TextBox" klassen.
Avatar billede burningice Nybegynder
03. juni 2003 - 11:22 #3
så skal du lave en

public delegate void validatefunktionEventHandler(object Sender, EventArgs e);
public event validatefunktionEventHandler validatefunktion;

og i din OnInit-metoder kalder du så

if (validatefunktion!= null)
            validatefunktion(this, EventArgs.Empty);
Avatar billede roadrunr Nybegynder
11. juni 2003 - 23:30 #4
Når jeg forsøge at benyttes deletages modtager jeg følgende fejl:
-------
Cannot create an object of type 'WebApplication5.Classes.MyDelegate' from its string representation 'ValidateName' for the 'ValidateFunction' property
-------
'ValidateName' er den funktion som jeg gerne vil udføre
'ValidateFunction' er den property som indeholder funktionsnavnet.

Min klasse ser i korte træk sådan ud.
------
private MyDelegate m_ValidationFunction;
public MyDelegate ValidateFunction
        {
            get
            {
                return m_ValidationFunction;
            }
            set
            {
                m_ValidationFunction = value;
            }
        }
MyDelegate a;
a = new MyDelegate(m_ValidationFunction);
------

Hvad er der galt her?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester