error: identifier 'if' out of scope

Status
Niet open voor verdere reacties.

nyxx

Nieuwe gebruiker
Lid geworden
3 jan 2007
Berichten
2
Hallo mensen,

Ik vroeg mij af of er iemand is die mij in de goede richting kan doen opgaan wat betreft een probleem dat ik heb met wat code. De code is niet door mijzelf geschreven ik probeer alleen maar een bug erin op te lossen.

Het probleem is als volgt, ik krijg tijdens het aanmelden van een gebruiker een foutmelding die luidt:

Server Error in '/' Application.
--------------------------------------------------------------------------------

Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

Source Error:


Line 103: if(LandenLijst.SelectedValue == "Nederland")
Line 104: {
Line 105: returnwaarde = v.Add(
Line 106: HttpUtility.HtmlEncode(this.tbEmail.Text),
Line 107: HttpUtility.HtmlEncode(this.tbWachtwoord

ook krijg ik tijdens het debuggen dit te zien:

int returnwaarde = 0; error: managed EE does not understand expression's syntax
if error: identifier 'if' out of scope

De code waar het probleem zich voordoet is als volgt:

private void btnVerzend_Click(object sender, System.EventArgs e)
{
int returnwaarde;

if(this.IsValid)
{
classes.Verhuurder v = new classes.Verhuurder();

if(LandenLijst.SelectedValue == "Nederland")
{
returnwaarde = v.Add(
HttpUtility.HtmlEncode(this.tbEmail.Text),
HttpUtility.HtmlEncode(this.tbWachtwoord.Text),
HttpUtility.HtmlEncode(this.tbStraat.Text),
HttpUtility.HtmlEncode(this.tbHuisnummer.Text),
HttpUtility.HtmlEncode(this.Bijvoegsel.Text),
HttpUtility.HtmlEncode(this.LandenLijst.SelectedValue),
HttpUtility.HtmlEncode(this.tbPostcode.Text),
HttpUtility.HtmlEncode(this.tbPlaats.Text),
HttpUtility.HtmlEncode(this.tbTelefoon.Text),
HttpUtility.HtmlEncode(this.tbVoornaam.Text),
HttpUtility.HtmlEncode(this.tbAchternaam.Text),
HttpUtility.HtmlEncode(this.tbFax.Text));
}
else
{
returnwaarde = v.Add(
HttpUtility.HtmlEncode(this.tbEmail.Text),
HttpUtility.HtmlEncode(this.tbWachtwoord.Text),
HttpUtility.HtmlEncode(this.StraatBuitenland.Text),
HttpUtility.HtmlEncode(this.HuisNrBuitenland.Text),
HttpUtility.HtmlEncode(this.HuisNrBijvBuitenland.Text),
HttpUtility.HtmlEncode(this.LandenLijst.SelectedValue),
HttpUtility.HtmlEncode(this.tbPostcode.Text),
HttpUtility.HtmlEncode(this.tbPlaats.Text),
HttpUtility.HtmlEncode(this.tbTelefoon.Text),
HttpUtility.HtmlEncode(this.tbVoornaam.Text),
HttpUtility.HtmlEncode(this.tbAchternaam.Text),
HttpUtility.HtmlEncode(this.tbFax.Text));
}
if(returnwaarde == 0)
{ //activatiemail verstuurd Response.Redirect("/activation/SendActivatie.aspx?Verhuurder="+tbEmail.Text);
}
else
{ //activatiemail niet verstuurd
Response.Redirect("/profiel/GebruikerBestaatReeds.aspx");
}
}
}

Ik hoop dat iemand me ene pointer kan geven, want ik moet dit zooitje dus wel aan de praat krijgen een keer :p Ik heb me ondertussen rot gezocht op Internet, maar dit probleem is te veel voorkomend om een passende oplossing te vinden...

Bij voorbaat dank en met vriendelijke groet,

Dannny
 
Een opmerking over de debugmelding:
ook krijg ik tijdens het debuggen dit te zien:
int returnwaarde = 0; error: managed EE does not understand expression's syntax
if error: identifier 'if' out of scope

Als je tijdens het stappen door de code een "Add Watch" of "Quick Watch" wilt doen,
moet je niet "int returnwaarde;" als watch toevoegen, maar alleen de variabelenaam, dus : "returnwaarde".

Wat opmerkingen over de Add methode van class Verhuurder.
1- Geeft de Add-methode altijd een getal terug?
2- Wat doet Add precies, alleen de properties van een waarde voorzien? Als dit zo is, zou ik niet een functie met zoveel parameters gebruiken. Als de Add-methode een nieuwe Verhuurder moet maken, dan is de hier gebruikte methode niet de juiste.
3- probeer met "Step Into" precies te achterhalen waar het fout gaat.
4- kan je de code van de Verhuurder class ook laten zien? Ik vermoed dat het daar ergens fout gaat.
 
oplossing gevonden

Hallo en bedankt voor je reactie. Ondertussen is het probleem opgelost, het bleek dat zowel postcode als huisnummer variabelen <undefined> bleven tijdens het step into proces. Derhalve heb ik maar voor de grap de juiste variabelen ingevoerd in tegenstelling tot de persoon die de originele code geschreven had, die het dus nodig vond naar bepaalde velden te refereren die niet de juiste waren. Dat van die 'if' identifier out of scope schijnt naar ik vernomen heb gewoon een fout in het algehele .NET framework te zijn en mag dusdanig genegeerd worden.

Dan verlaat ik U allen weer snel, daar ik vanaf dit moment niet meer in Microsoft talen verder ga tijdens mijn werk en het gehele project vanuit .NET over ga zetten in Ruby on Rails :) (wat overigens een heel mooi framework is!)

Met vriendelijke groet,

Danny
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan