Avatar billede martinsorensen Nybegynder
16. december 2007 - 21:27 Der er 3 kommentarer og
1 løsning

Åben *.htm efter login

Hej eksperter.

Jeg vil spørge hvordan man åbner en *.htm fra *.aspx.cs filen? Jeg har et login, hvor man efter godkendt login skal komme til en anden side.

Mvh
Avatar billede martinsorensen Nybegynder
16. december 2007 - 21:29 #1
Koden(erne) er som følger for *.aspx.cs:

using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page
{
    string attrPassword = "";

    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        dbConnect();

        if (attrPassword == tbKodeord.Text)
        {
            Label1.Text = "Bruger er godkendt af databasen, Velkommen: " + tbBrugernavn;
            // Åbne ny hjemmeside. *.htm
        }
        else
        {
            Label1.Text = "Brugernavn eller kodeorder forkert";
        }

       
    }

    public void dbConnect()
    {
        string user = tbBrugernavn.Text;

        SqlConnection con = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\login.mdf;Integrated Security=True;User Instance=True");
        con.Open();
        SqlCommand cmd = new SqlCommand("SELECT kodeord FROM login_info WHERE brugernavn = '" + tbBrugernavn.Text + "'", con);
        SqlDataReader rdr = cmd.ExecuteReader();
        while (rdr.Read())
        {
            attrPassword = rdr["kodeord"].ToString();
        }
        con.Close();
    }

}




og for *.aspx:

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Sundet login</title>
</head>
<body style="font-family: Calibri">
    <form id="form1" runat="server">
    <div>
   
        Brugernavn:</div>
    <asp:TextBox ID="tbBrugernavn" runat="server"></asp:TextBox>
    <br />
    Kodeord:<br />
    <asp:TextBox ID="tbKodeord" runat="server"></asp:TextBox>
    <br />
    <asp:Button ID="Button1" runat="server" onclick="Button1_Click"
        Text="Godkend" />
    <br />
    <br />
    <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
    </form>
</body>
</html>
Avatar billede fennec Nybegynder
17. december 2007 - 10:54 #2
1. Det var måske en ide at stille ?'et i ASP.NET kategorien i stedet.

2. Jeg skal lige forstå dette rigtigt. Brugeren kommer ind på en aspx side hvor man loger ind. Derefter vil du så sende brugeren til en html side??

Da en html side ikke bliver behandlet af serveren, kan du ikke fortage nogen login validering her, så der er intet, der forhindre brugererne i at gå uden om login siden og direkte til html siden.

Skal siden beskyttes med login, skal den køres serverside (altså være en aspx side).
Avatar billede martinsorensen Nybegynder
17. december 2007 - 11:03 #3
Jeg fandt ud af det i nat. Jeg brugte this.Response.Redirect("filnavn.htm"); efter godkendt validering. Men rigtigt i ASP.NET kategorien. Jeg havde ikke lige set den :(

mvh
Avatar billede fennec Nybegynder
17. december 2007 - 11:23 #4
Jeg vil lige igen pointere at der er INTET, som forhindre brugerne i at gå direkte til filnavn.htm siden, ved at skrive det i adresselinjen. Derved går de uden om din validering...
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
Kurser inden for grundlæggende programmering

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