Avatar billede filix Nybegynder
26. februar 2007 - 10:37 Der er 10 kommentarer og
1 løsning

Hjælp til brug af Class.cs og fejl i simpelt script

Hey først har jeg et hurtigt spørgsmål, og begge 2 er omkring samme stykke kode. Det er en kontrol på et MEGET simpelt login script som jeg har leget med og lave.

sp. 1  :
Jeg har lavet et login script som self bare laver en respone.redirect, men de sider den bliver sendt til skal have en kontrol. Denne kontrol har jeg så lavet sådan at den opretter en Session som den så skal gå ind og kontrollere er korrekt. Først ville jeg lave en Class.cs fil som jeg kunne inklude i min kode for at sikre det. Men disse class filer siger :
The name "Session" does not exist in the current context

og det samme omkring min Response.redirect .
Koden til den class :
--------------------------------------------
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;
/// <summary>
/// Til at kontroller login
/// </summary>
public class PassCtrl
{
    public PassCtrl()
    {
        if(Session["Se_PassCtrl"] = "OK")
        {

        }
        else
        {
            Response.Redirect("./default.aspx");

        }
    }
}
---------------------------------------------

Sp. 2 :
Så efter det stunt ville jeg prøve bare og lave den i en normal fil ved navn logged.aspx.cs hvor det bare burde spiller, synes jeg :)
her siger den følgende fejl.
Error    1    "Cannot implicitly convert type 'object' to 'bool'. An explicit conversion exists (are you missing a cast?)"

kode her til :
--------------------------------------------
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class Logged : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

        if (Session["Se_PassCtrl"] = "OK")
        {
         
        }
        else
        {
            Response.Redirect("./default.aspx");
        }
    }
}
--------------------------------------------

Begge kode snippets er stort set ens.

Det er sikkert en omgang begynder spørgsmål men hey gotta start somewhere :)
Avatar billede kalp Novice
26. februar 2007 - 10:40 #1
public class PassCtrl : System.Web.UI.Page

Til spørgsmål 1
Avatar billede kalp Novice
26. februar 2007 - 10:40 #2
if (Session["Se_PassCtrl"] == "OK")
Avatar billede flyver23 Nybegynder
26. februar 2007 - 10:41 #3
I dine if sætning skal du skrive ==

Vh flyver23
Avatar billede kalp Novice
26. februar 2007 - 10:41 #4
if (((string)Session["Se_PassCtrl"]).ToString() == "OK")

så er det pænt skrevet også.
Avatar billede filix Nybegynder
26. februar 2007 - 14:04 #5
Mange tak for hjælpen det hjalp med friske øjne :)
Avatar billede kalp Novice
26. februar 2007 - 14:11 #6
selv tak;)
Avatar billede filix Nybegynder
26. februar 2007 - 14:16 #7
har en hurtig en hvis du har tid.
Nu har jeg jo lavet den i en ekstern sheet, og ligesom i andre sprog har du jo en "insert" funktion som du kan smide i bunden til og "importere" kode filer, for at sikre man ik lige kan fange filen med kode i. Men hvordan skriver du det i asp.net ?
Avatar billede kalp Novice
26. februar 2007 - 14:18 #8
hvis du skal importere kodefiler skriver du

using kodefil;

i toppen, men er det egne filer skal de være en del af din solution først.

men ellers er det "using" i C#:)
Avatar billede filix Nybegynder
26. februar 2007 - 14:27 #9
hmm ik helt på den måde ... :)

altså jeg har 2 filer min default.aspx (som skal sikres)
og min .\app_code\PassCtrl.cs

og ville have at den så skal køre koden, hvor jeg ville skrive f.eks.

<!--#include file="App_Code/PassCtrl.cs" -->Using .\passctrl.cs;

dette er placeret helt i toppen af default.
men istedet for at udføre koden udskriver den koden som tekst i toppen. !
Avatar billede kalp Novice
26. februar 2007 - 14:33 #10
ahh okay..

Se her.
http://www.christopherjason.com/articles/using-includes-asp-net/

og du kan MÅSKE skrive

Response.WriteFile("filen.aspx");
Avatar billede filix Nybegynder
26. februar 2007 - 14:45 #11
hehe hellere ikke nogen af dem, ... sidder lidt og kigger på "codefile" og "inherits" mulighederne tror skatten ligger gemt der :)
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