Avatar billede simsen Mester
27. oktober 2007 - 17:03 Der er 2 kommentarer og
1 løsning

Får fejlen Unable to evaluate expression

Hej,

Først min opbygning
Admin
--Default.aspx (som er en login)
-- Tilhørende Masterpages

Default.aspx (som er en login side igen)
AdminMasterAdmin.Master
MasterLogin.Master
MasterAdmin.Master
Forside.aspx
AdmFrontPage.aspx

Det jeg vil have følgende kode til er, hvis employeetype = Administrator skal den gå til AdmFrontPage.aspx - hvis ikke skal den gå til Forside.aspx

Det koden gør, er hvis (har kørt med run to curser) employeetype er forskellig fra Administrator bare at blive på Login siden. Hvis employeetype er lig med Administrator, går den til Mappen mappen Admin og åbner siden Default.aspx i denne.....

Når jeg kører i debug mode, får jeg følgende fejl:
Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack.}    object {System.Web.UI.WebControls.Button}

Min kode:

protected void btnLogin_Click(object sender, EventArgs e)
    {
        try
        {
            ERSEmployee employee = new ERSEmployee();

            DataTable bruger = null;

            if (employee.GetEmployeeLogin(txtLogin.Text, txtPassword.Text, ref bruger) == Status.Success)
            {
                Session[ERSConnect.SessionUserId] = Convert.ToInt32(bruger.Rows[0]["employeeId"]);
                Session["EmployeeName"] = Convert.ToString(bruger.Rows[0]["employeeName"]);
                HttpCookie myCookie = new HttpCookie(ERSConnect.CookieUserInfo);
                myCookie[ERSConnect.CookieUsername] = txtLogin.Text;
                myCookie.Expires = DateTime.Now.AddDays(1000d);
                Response.Cookies.Add(myCookie);
                int employeetypeid = Convert.ToInt32(bruger.Rows[0]["employeeType"]);
                int companyId = Convert.ToInt32(bruger.Rows[0]["companyId"]);

                //Tester om det er administrator eller ej - Henter employeeType ud og sammenligner
                ERSEmployee employeeType = new ERSEmployee();

                DataTable dtemployee = null;

                if (employeeType.getCompanyEmployeeType(employeetypeid, companyId, ref dtemployee) == Status.Success)
                {
                    string employeetype = Convert.ToString(dtemployee.Rows[0]["employeeType"]);

                    if (employeetype == "Administrator")
                    {
                        Response.Redirect("~/ERS/AdmFrontPage.aspx", true);
                    }
                    else
                    {
                        Response.Redirect("~/ERS/Forside.aspx", true);
                    } 
                }
            }
            else
            {
            }
        }
        catch
        {
        }
    }

Der er ingen fejl, andet end den ikke loader den korrekte side..... altså i selve den her del, går det galt:

if (employeetype == "Administrator")
                    {
                        Response.Redirect("~/ERS/AdmFrontPage.aspx", true);
                    }
                    else
                    {
                        Response.Redirect("~/ERS/Forside.aspx", true);
                    }

Nogen der kan fortælle mig, hvor jeg laver en fejl henne og ikke mindst hvorfor?

mvh
simsen :-)
Avatar billede neoman Novice
27. oktober 2007 - 17:21 #1
http://207.46.236.188/MSDN/ShowPost.aspx?PostID=268544&SiteID=1

formentligt fordi du laver response.redirect inde i en try/catch blok (og response.redirect har det med selv at lave en exception - dukunne evt. prøve at lave de redirects med False i stedet for True - det kan nogle gange fjerne den exception.
Avatar billede simsen Mester
27. oktober 2007 - 19:58 #2
neoman

Tak - du er endnu engang min redningsmand. Smid et svar og du får dine points

mvh
simsen :-)
Avatar billede neoman Novice
27. oktober 2007 - 20:49 #3
:P
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