apenstaartje gebruiken in TrimEnd

Status
Niet open voor verdere reacties.

agbonlahor

Gebruiker
Lid geworden
13 apr 2009
Berichten
11
Hallo,

Ik zit met een klein probleempje waar ik maar geen oplossing kan voor vinden.

De bedoeling is dat ik een login formulier wil maken waar de gebruikersnaam automatisch gemaakt wordt door middel van het gedeeltde voor het @-teken van het e-mail adres.
Als ik wat ik al heb nu uitvoer blijven e-mail en gebruikersnaam gewoon hetzelfde.
Dit is de code die ik al heb:

Code:
string s = TextBox4.Text;
char[] at = { '@' };
string user = s.TrimEnd(at);
TextBox9.Text = user;

TextBox4 = veld waar E-mail wordt ingegeven
TextBox9 = veld voor gebruikersnaam

Met voorbaat bedankt
 
&

Hallo,

Ik zit met een klein probleempje waar ik maar geen oplossing kan voor vinden.

De bedoeling is dat ik een login formulier wil maken waar de gebruikersnaam automatisch gemaakt wordt door middel van het gedeeltde voor het @-teken van het e-mail adres.
Als ik wat ik al heb nu uitvoer blijven e-mail en gebruikersnaam gewoon hetzelfde.
Dit is de code die ik al heb:

Code:
string s = TextBox4.Text;
char[] at = { '@' }; vervangen door & # 0 3 8 ;  ..maar dan zonder spaties
string user = s.TrimEnd(at);
TextBox9.Text = user;

TextBox4 = veld waar E-mail wordt ingegeven
TextBox9 = veld voor gebruikersnaam

Met voorbaat bedankt

gebruik eens & & # 038;
 
Laatst bewerkt:
Dan krijg ik 2 foutmeldingen:
Error 1 Kan het type string niet impliciet naar char converteren
Error 2 Too many characters in character literal

Code:
        string s = TextBox4.Text;
        char[] at = { ' & # 0 3 8 ' }; (zonder spaties) 
        string user = s.TrimEnd(at);
        TextBox9.Text = user;

btw: moet het niet 64 zijn in plaats van 38 voor een @-teken?
 
Laatst bewerkt:
goed lezen

Dan krijg ik 2 foutmeldingen:
Error 1 Kan het type string niet impliciet naar char converteren--->>> nee natuurlijk niet er zitten spaties in en aanhalingstekens
Error 2 Too many characters in character literal

Code:
        string s = TextBox4.Text;
        char[] at = { ' & # 0 3 8 ' }; [COLOR="red"](zonder spaties) [/COLOR]        
string user = s.TrimEnd(at);
        TextBox9.Text = user;

btw: moet het niet 64 zijn in plaats van 38 voor een @-teken?

zonder spaties en de aanhalingstekens en achter de punt komma
 
Laatst bewerkt:
In C# is dat op die manier niet mogelijk.
In een char kun je maar 1 teken gebruiken. Met uitzondering van escape tekens. Maar dat is nu niet belangrijk.

Met de TrimEnd kun je alleen de laatste tekens verwijderen. Dus "hallo@@@". Dan haalt die de @ weg. Maar bij "hallo@@@1" niet, omdat het @ niet achteraan staat.

Wat je eigenlijk wil doen is de locatie van het @ teken bepalen, en dan tot daar ophalen.

Dat werkt op de volgende manier:
Code:
string s = TextBox4.Text;
string user = s.Substring(0, s.IndexOf('@'));
TextBox9.Text = user;

Dus dmv IndexOf bepalen de de positie van het @ teken. Dan gebruiken we Substring om vanaf teken 0 tot aan de positie van @ optehalen.

En het werkt:thumb:

Succes,
Mathijs
 
En het werkt:thumb:

Succes,
Mathijs

Dank je, het werkt perfect nu :thumb:

Nu heb ik een probleem met het laten verschijnen van de gebruikersnaam. Ik wou als je het e-mailadres typte dat dan direct de gebruikersnaam aangevuld werd.
Ik heb bij textbox van e-mailadres autopostback op True gezet, maar als ik naar een ander vakje ga, wordt er niks gedaan.
Duw ik vanonder op bewaar dan lukt het wel, maar dan worden de wachtwoorden gewist
 
Laatst bewerkt:
Autopost back werkt volgens mij niet met een textbox.
Maar ik weet absoluut niks van ASP.net. Is lang geleden sinds ik dat nog gebruikt heb.
Misschien kan iemand anders daarmee helpen.

Succes,
Mathijs
 
Ik meende in een (heel) ver verleden dat de autopostback bij een textbox enkel werkt
voor het textchanged event en niet voor het focuslost event.

Om directe validatie te doen, gebruik je best javascript! (belast ook minder de server)

Dit volledig ter zijde.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan