Comes In Handy

Lige den funktion du behøver..!

Brug browserens indbyggede søgefunktion (Ctrl + f) for at lede efter et udtryk eller key-word

F.eks.

DataTable
eller
SqlConnection

//
// Denne metode ligger i CodeBehind (Butikken.aspx.cs)
//
protected void ButtonKøb_Click(object sender, EventArgs e)
    {
        // Tøm kurven og smid de sorskellige items i DB
        // KundeID = en sessionværdi. Her:
        Random random = new Random();
        int randomNumber = random.Next(0, 100);
        int KundeSession = randomNumber;
        Session["KundeId"] = KundeSession;

        SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["DatabaseConnectionString1"].ToString());

        SqlCommand cmd = new SqlCommand(@"
                    INSERT INTO Orders (SalesDate, Kunde_Id, Order_Status)
                    
                    VALUES (@SalesDate, @Kunde_Id, @Order_Status); SELECT SCOPE_IDENTITY()
        
                    ", conn);

        cmd.Parameters.AddWithValue("@SalesDate", DateTime.Now);
        cmd.Parameters.AddWithValue("@Kunde_Id", Convert.ToInt32(Session["KundeId"]));
        cmd.Parameters.AddWithValue("@Order_Status", 1);

        conn.Open();
        object OrderId = cmd.ExecuteScalar();
        conn.Close();

        
        ///

        SqlConnection conn2 = new SqlConnection(ConfigurationManager.ConnectionStrings["DatabaseConnectionString1"].ToString());
        conn2.Open();
        foreach (GridViewRow row in GridView_VisKurv.Rows)
        {
            
            SqlCommand cmd2 = new SqlCommand(@"
            INSERT INTO Order_Lines (Quantity, Sum_Price, Produkt_Id, Order_Id)
            VALUES (@Quantity, @Sum_Price, @Produkt_Id, @Order_Id)
            ", conn2);
                    
                    cmd2.Parameters.AddWithValue("@Quantity", Convert.ToInt32(row.Cells[3].Text));
                    cmd2.Parameters.AddWithValue("@Sum_Price", Convert.ToDecimal(row.Cells[4].Text));
                    cmd2.Parameters.AddWithValue("@Produkt_Id", Convert.ToInt32(row.Cells[0].Text));
                    cmd2.Parameters.AddWithValue("@Order_Id", OrderId);

                    cmd2.ExecuteNonQuery();
        }
        //LabelKurvStatus.Text += "<p>ID: " + row.Cells[0].Text + " Navn: " + row.Cells[1].Text + " Stk. pris: " + row.Cells[2].Text + " Antal: " + row.Cells[3].Text + " Samlet pris:" + row.Cells[4].Text + " Order_Id: " + Convert.ToInt32(OrderId)+"</p>";
        conn2.Close();

        Session.Abandon();
        Response.Redirect(Request.RawUrl);
       
    }

//
// Class, brug af klassen "IndIDatabase"
// Fil: Default.aspx.cs
//
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

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

    }
    protected void Button_Indsæt_Click(object sender, EventArgs e)
    {
        string tekst = TextBox_IndIDB.Text;

        IndIDatabase forfatter = new IndIDatabase(tekst);

        Label_Overskrift.Text = forfatter.Tekst;
    }
}
//
// Fil: App_Code/IndIDatabase.cs
//
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

/// <summary>
/// Summary description for IndIDatabase
/// </summary>
public class IndIDatabase
{
    #region Fields
    private string tekst;
    #endregion

    #region Constructor
    public IndIDatabase(string tekst)
	{
        this.tekst = tekst;
    }
    #endregion

    #region Properties
    public string Tekst
    {
        get { return this.tekst; }
        set { this.tekst = value; }
    }
    #endregion

    #region Metoder
    public string SkalTilDB(string tekst)
    {
        return this.tekst;
    }
    #endregion
}
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Test.aspx.cs" Inherits="Admin_Test" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Repeater ID="Repeater_Test" runat="server" ItemType="TestClass">
            <ItemTemplate>
                <p><%# Item.Navn %> -> <%# Item.Password %></p>
            </ItemTemplate>
        </asp:Repeater>
    </div>
    </form>
</body>
</html>
####################################### Frontkode #############################################



using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Admin_Test : System.Web.UI.Page
{
    private DataClassesDataContext db = new DataClassesDataContext();
    protected void Page_Load(object sender, EventArgs e)
    {
        var query = from x in db._Tests select new TestClass(x.Navn, x.Password);

        Repeater_Test.DataSource = query.ToList();
        Repeater_Test.DataBind();
    }
}
####################################### Code Behind #############################################



using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

/// <summary>
/// Summary description for TestClass
/// </summary>
public class TestClass
{
	private string navn;
    private string password;

    public TestClass()
	{
		//
		// TODO: Add constructor logic here
		//
	}

    public TestClass(string navn, string password)
    {
        this.navn = navn;
        this.password = password;   
    }

    public string Navn
    {
        get { return this.navn; }
        set { this.navn = value; }
    }

    public string Password 
    {
        get { return this.password; }
        set { this.password = value; }
    }
}
####################################### Class #############################################

// HENT FILER FRA MAPPEN myTxt OG UDSKRIV INDHOLDET
// Fil: ComesInHandy.aspx
// Mappe: myTxt

<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="ComesInHandy.aspx.cs" Inherits="ComesInHandy" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    <h1>Comes In Handy</h1>
    <h3>Lige den funktion du behøver..!</h3>
    <div>
        <asp:Label ID="LabelFileName" runat="server" Text=""></asp:Label>
     </div>
</asp:Content>

///
///
// Fil: ComesInHandy.aspx.cs

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class ComesInHandy : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        // Find filnavne
        var txtFiles = Directory.EnumerateFiles(Server.MapPath("~/myTxt"), "*.txt");

        foreach (string currentFile in txtFiles)
        {
            string fileName = currentFile.Substring(Server.MapPath("~/myTxt").Length + 1);
            LabelFileName.Text += @"<div class='snippet'>
                                        <pre>" + hentTxt(fileName) + "</pre></div>";
            
        }
    }

    private string hentTxt(string fileName)
    {
        string heleTeksten;

        if (File.Exists(Server.MapPath("~/myTxt/" + fileName)))
            try
            {
                StreamReader sr = new StreamReader(Server.MapPath("~/myTxt/" + fileName));
                heleTeksten = HttpUtility.HtmlAttributeEncode(sr.ReadToEnd()).ToString();
            }
            catch
            {
                heleTeksten = "<p>Der opstod en fejl</p>";
            }
        else
        {
            heleTeksten = @"<p>Filen '" + fileName + "' eksisterer ikke. :-)</p>";
        }

        return heleTeksten;
    }
}

//
//
//	SQL-optælling
//
SqlCommand cmd = new SqlCommand(@"
SELECT COUNT(Traad.Id) AS AntalTraade,
Kategori.Titel, Kategori.Id AS KatId
FROM Kategori 
LEFT OUTER JOIN Traad
ON Traad.FK_Kategori_Id = Kategori.Id
GROUP BY Kategori.Titel, Kategori.Id
ORDER BY Kategori.Id DESC", conn);

// CRUD: Create, Read, Update & Delete
// Fil: codebehind-filer
// 
// Indsæt i tabel INSERT (Create)


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Configuration;
using System.Data;

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

    }
    protected void Button_insert_Click(object sender, EventArgs e)
    {
        // opret forbindelse til databasen
        SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["DatabaseConnectionString"].ToString());
        // opret et SqlCommand object
        SqlCommand cmd = new SqlCommand();
        cmd.Connection = conn;

        // SQL strengen
        cmd.CommandText = "INSERT INTO kontakt (k_navn, k_email, k_emne, k_besked) VALUES (@navn, @email, @emne, @besked)";

        // Tilføj parametrer (input fra TextBoxe fra .aspx siden) til din SQL streng ovenover
        cmd.Parameters.Add("@navn", SqlDbType.NVarChar).Value = TextBox_navn.Text;
        cmd.Parameters.Add("@email", SqlDbType.NVarChar).Value = TextBox_email.Text;
        cmd.Parameters.Add("@emne", SqlDbType.NVarChar).Value = TextBox_emne.Text;
        cmd.Parameters.Add("@besked", SqlDbType.Text).Value = TextBox_besked.Text;

        // Åben for forbindelsen til databasen
        conn.Open();

        // Udfør SQL komandoen
        cmd.ExecuteNonQuery();

        // Luk for forbindelsen til databasen
        conn.Close();
    }
}
//******************************************************************************************************************************
//
// Hent fra tabel SELECT (Read):
//
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Configuration;
using System.Data;

public partial class Select : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        // opret forbindelsen til databasen
        SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["DatabaseConnectionString"].ToString());
        // opret et SqlCommand object
        SqlCommand cmd = new SqlCommand();
        cmd.Connection = conn;

        //Sql sætningen
        cmd.CommandText = "SELECT * FROM news WHERE n_id = @id";
        // Parametrene @id i sql sætningen ovenover tilføjes
        cmd.Parameters.Add("@id", SqlDbType.Int).Value = Request.QueryString["newsid"];
        // åben forbindelsen til databasen
        conn.Open();
        // opret en SqlDataReader og navngiv den "reader"
        // SqlDataReader er en beholder eller tabel der indeholder en kopi af det der er udtrukket fra databasen
        SqlDataReader reader = cmd.ExecuteReader();
        // hvis nyheden findes i databasen, altså hvis der er noget i "reader"
        if (reader.Read())
        {
            // Fyld indhold i textboxe
            TextBox_titel.Text = reader["n_title"].ToString();
            TextBox_tekst.Text = reader["n_tekst"].ToString();
        }
        // luk forbindelsen til databasen
        conn.Close();


    }
}
//******************************************************************************************************************************
//
//
// Opdater række eller rækker i tabel UPDATE (Update):
//
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Configuration;
using System.Data;

public partial class Update : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        // SELECT fra Databasen og fyld i TextBoxe
    }

    protected void Button_update_Click(object sender, EventArgs e)
    {
        // opret forbindelsen til databasen
        SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["DatabaseConnectionString"].ToString());
        SqlCommand cmd = new SqlCommand();
        cmd.Connection = conn;
        //Sql sætningen
        cmd.CommandText = "UPDATE news SET n_title = @title, n_tekst = @tekst WHERE n_id = @id";
        // Parametrene @id, @title og @tekst i sql sætningen ovenover tilføjes
        cmd.Parameters.Add("@id", SqlDbType.Int).Value = Request.QueryString["newsid"];
        cmd.Parameters.Add("@title", SqlDbType.NVarChar).Value = TextBox_titel.Text;
        cmd.Parameters.Add("@tekst", SqlDbType.NVarChar).Value = TextBox_tekst.Text;
        // åben forbindelsen til databasen
        conn.Open();
        // Udfør sql komandoen
        cmd.ExecuteNonQuery();
        // luk forbindelsen til databasen
        conn.Close();

    }
}
//******************************************************************************************************************************
//
//
// Slet række eller rækker i tabel DELETE (Delete):
//
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Configuration;
using System.Data;

public partial class Delete : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        // opret forbindelsen til database
        SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["DatabaseConnectionString"].ToString());
        // opret et SqlCommand object
        SqlCommand cmd = new SqlCommand();
        cmd.Connection = conn;
        //Sql sætningen
        cmd.CommandText = "DELETE FROM news WHERE n_id = @id";
        // Parameteret @id i sql sætningen ovenover tilføjes
        cmd.Parameters.Add("@id", SqlDbType.Int).Value = Request.QueryString["newsid"];
        // åben forbindelsen til databasen
        conn.Open();
        // Udfør sql komandoen
        cmd.ExecuteNonQuery();
        // luk forbindelsen til databasen
        conn.Close();

    }
}
//
//
// Formatering af datetime til et pænt format
// Koden er en del af en aspx-fil, der skriver en værdi fra en tabel
// i databasen, en dato, til et pænt format
//
//

<asp:Repeater ID="Repeater1" runat="server" DataSourceID="DataKilde">
	<ItemTemplate>
		<%#((DateTime)Eval("dato")).ToString("d")%>
	</ItemTemplate>
</asp:Repeater>
<asp:DataSource ID="DataKilde" runat="server"
	ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
	SelectCommand="SELECT * FROM [Nyheder]"></asp:SqlDataSource>
//
//
// Fil: Default.aspx
//
// I en repeater vil du gerne skrive din dato i et pænt format:


<div>
	<p>Dato er:</p>
	<p><%# ((DateTime)Eval("news_postdate")).ToString("dd. MMMM yyyy - HH:mm") %><p>
</div>

//
//
//
//
// Fra CodeBehind i Page_Load:
// #datogroup
// #month

// Dato-leg
        
var hentMaaned = (
	from m in db._Months
	join u in db._Users
	on m.MonthKey equals u.UserDateTime.Value.Month
	select new { m.MonthName, Counter = (from y in db._Users where m.MonthKey == y.UserDateTime.Value.Month select y.UserDateTime.Value.Month).Count(), m.MonthKey }
	).ToList().Distinct();
ListView_MaanedGroup.DataSource = hentMaaned;
ListView_MaanedGroup.DataBind();


########################################

// Fra Front-code:

<div>
	<h1>Månedsarkiv</h1>
	 <asp:ListView ID="ListView_MaanedGroup" runat="server">
		<ItemTemplate>
			<h2><%# Eval("MonthName") %> (<%# Eval("Counter") %>)</h2>
			<asp:HyperLink ID="HyperLinkBlogArchive" NavigateUrl='<%# "Blog.aspx?MonthKey=" + Eval("MonthKey") %>' runat="server">Se alle blog-indlæg for <%# Eval("MonthName").ToString().ToLower() %></asp:HyperLink>
		</ItemTemplate>
	</asp:ListView>
</div>
//
// Vis årstal i en label
// Fil: En master codebehind-fil
//

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 MasterPage : System.Web.UI.MasterPage
{
    protected void Page_Load(object sender, EventArgs e)
    {
        DateTime Aar = DateTime.Now;
        Label_Year.Text = Aar.Year.ToString();
    }
}
//
// Dynamisk generering af dropdown.
// Filer: aspx & aspx.cs filer
//

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

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Dropdown</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
		<!-- Vi fylder en dropdown via code behind! -->
        <asp:DropDownList ID="DropDownList1" runat="server"></asp:DropDownList>
    </div>
	<div>
        <!-- Vi fylder en dropdown (som vi ikke bruger til noget) -->
		<asp:DropDownList ID="DropDownList2" runat="server">
            <asp:ListItem Value="1">København</asp:ListItem>
            <asp:ListItem Value="2">Nysted</asp:ListItem>
            <asp:ListItem Value="3">Nykøbing Falster</asp:ListItem>
        </asp:DropDownList>
    </div>
    </form>
</body>
</html>

//
//
//

using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
       
        // Fyld kun dropdownlisten første gang siden loades!
        if (!IsPostBack)
        {
            DropDownList1.DataSource = CreateDataSource();
            DropDownList1.DataTextField = "ColorTextField";
            DropDownList1.DataValueField = "ColorValueField";
            DropDownList1.DataBind();
        }
        
    }

    private object CreateDataSource()
    {
        DataTable dt = new DataTable();

        // Definer tabellens kolonner
        dt.Columns.Add(new DataColumn("ColorTextField", typeof(String)));
        dt.Columns.Add(new DataColumn("ColorValueField", typeof(String)));

        // Fyld tabellen op med værdier
        dt.Rows.Add(CreateRow("Hvid", "1", dt));
        dt.Rows.Add(CreateRow("Sølv", "2", dt));
        dt.Rows.Add(CreateRow("Mørkegrå", "3", dt));
        dt.Rows.Add(CreateRow("Khaki", "4", dt));
        dt.Rows.Add(CreateRow("Sort", "5", dt));

        // Byg et DataView fra DataTable 
        // der skal opføre sig som en data source
        // for DropDownList-controllen.
        DataView dv = new DataView(dt);
        return dv;
    }

    DataRow CreateRow(String Text, String Value, DataTable dt)
    {

        // Byg dine rækker, hvor du bruger din DataTable der
        // er defineret i  CreateDataSource-metoden.
        DataRow dr = dt.NewRow();

        // Dette DataRow indeholder ColorTextField og ColorValueField 
        // felterne, som defineret i CreateDataSource metoden. Giv 
        // dine værdier en passende værdi. Husk at kolonne 0 er defineret som 
        // ColorTextField, og kolonne 1 er defineret som ColorValueField.
        dr[0] = Text;
        dr[1] = Value;

        return dr;

    }
}
	
	//
	// Fil: Default.aspx (Udsnit)
	// Dropdown: <asp:DropDownList ID="DropDownList_Genre" runat="server"></asp:DropDownList>  får sine data fra Code Behind
	//
	
	<asp:Panel ID="Panel_IndsætNyFilm" runat="server">
		<p>Indsæt filmtitel</p>
		<asp:TextBox ID="TextBox_NyFilmTitel" runat="server"></asp:TextBox>
		<asp:DropDownList ID="DropDownList_Genre" runat="server"></asp:DropDownList>
		<asp:Button ID="Button_IndsætFilmTitel" runat="server" Text="Indsæt ny filmtitel" OnClick="Button_IndsætFilmTitel_Click" />
	</asp:Panel>
	<asp:Panel ID="Panel_RetFilm" runat="server" Visible="false">
		<h3>Ret film</h3>
		<asp:TextBox ID="TextBox_RetFilmtitel" runat="server"></asp:TextBox>
		<asp:Button ID="Button_RetFilmtitel" runat="server" Text="Ret filmtitel" OnClick="Button_RetFilmtitel_Click" />
    </asp:Panel>
	
	
	
	
	
	//
	// Fil: Fra Default.aspx.cs (Code Behind, udsnit)
	//
	
	
	
	private void visDropdownGenre()
    {
        string Id;
        string Title;
        DataTable dt = new DataTable();
        dt.Columns.Add(new DataColumn("OptionId", System.Type.GetType("System.String")));
        dt.Columns.Add(new DataColumn("OptionValue", System.Type.GetType("System.String")));

        SqlConnection conn = new SqlConnection(ClassDB.ConnectionString);
        SqlCommand cmd = new SqlCommand();
        cmd.Connection = conn;
        cmd.CommandText = "SELECT * FROM Genre";

        conn.Open();
        SqlDataReader reader = cmd.ExecuteReader();
        while (reader.Read())
        {
            Id = reader["Id"].ToString();
            Title = reader["Navn"].ToString();
            dt.Rows.Add(Id, Title);
        }
        conn.Close();

        DropDownList_Genre.DataTextField = "OptionValue";
        DropDownList_Genre.DataValueField = "OptionId";
        DropDownList_Genre.DataSource = dt;
        DropDownList_Genre.DataBind();
    }
//
// Vis hvad du har valgt (en int) via din dropdown
// Fil: Default.aspx
//

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

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" 
            DataSourceID="SqlDataSource1" DataTextField="Navn" DataValueField="Id"></asp:DropDownList>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
            SelectCommand="SELECT * FROM [DropdownListDB]"></asp:SqlDataSource>
    </div>
    </form>
</body>
</html>

//
// Fil: default.aspx.cs
//

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Response.Write(DropDownList1.SelectedValue.ToString());
    }
}
// LINQ DROPDOWN
//
// Dropdown gets data from DB via LINQ
// File: DataClasses.dbml (Not shown)
// File: Default.aspx.cs (CodeBehind)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
    private DataClassesDataContext db = new DataClassesDataContext();
    
    protected void Page_Load(object sender, EventArgs e)
    {
        var query = (from x in db._Categories select new {x.Id, x.Category1 }).ToList();
        DropDownList1.DataSource = query;
        DropDownList1.DataTextField = "Category1";
        DropDownList1.DataValueField = "Id";
        DropDownList1.DataBind();
    }
}
//--------------------------------------------------------- EOF

// File: Default.aspx

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

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:DropDownList ID="DropDownList1" runat="server"></asp:DropDownList>
    </div>
    </form>
</body>
</html>
// LINQ DROPDOWN
//
// Dropdown gets data from DB via LINQ. With "show value"-button
// File: DataClasses.dbml (Not shown)
// File: Default.aspx.cs (CodeBehind)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
	private DataClassesDataContext db = new DataClassesDataContext();

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack) // Så er det første gang siden loader
        {
            var query = (from x in db._Categories select new { x.Id, x.Category1 }).ToList();
            DropDownList1.DataSource = query;
            DropDownList1.DataTextField = "Category1";
            DropDownList1.DataValueField = "Id";
            DropDownList1.DataBind();
        }

    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        Response.Write("Værdien er " + DropDownList1.SelectedValue + " for den valgte farve (" + DropDownList1.SelectedItem + ")");
    }
}
//--------------------------------------------------------- EOF

// File: Default.aspx

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

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:DropDownList ID="DropDownList1" AutoPostBack="false" runat="server"></asp:DropDownList>
        <asp:Button ID="Button1" runat="server" Text="Vis værdi" OnClick="Button1_Click" />
    </div>
    </form>
</body>
</html>

//--------------------------------------------------------- EOF

// FIND CONTROL
// Fil: MasterPage.master
           
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %>

<!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></title>
    <asp:ContentPlaceHolder id="head" runat="server">
    </asp:ContentPlaceHolder>
</head>
<body>
    <form id="form1" runat="server">
    <asp:Label ID="Label1" runat="server" Text="Velkommen"></asp:Label>
    <div>
        <asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
        
        </asp:ContentPlaceHolder>
    </div>
    </form>
</body>
</html>
///
///        
// FIL: side2.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Side2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Label myLabel = (Label) Master.FindControl('Label1');
        myLabel.Text = "Så er der ny tekst!";
    }
}
// LINQCRUD #RANDOM #LINQRANDOM
// Fil: en CodeBehind-fil
// samt 2 Classes (Data.cs og PasswordClass.cs)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
    private DataClassesDataContext db = new DataClassesDataContext();

    protected void Page_Load(object sender, EventArgs e)
    {
        Session["UserId"] = 2;

        if (!IsPostBack)
        {
            if (Session["UserId"] != null)
            {
                int Id = Convert.ToInt32(Session["UserId"]);
                getCurrentUserId(Id);
            }
            // Vis brugere
            // Vis 3 tilfældige brugere
            var result = (from x in db._Users where x.Id != 2 select new { User = x.User1, Id = x.Id }).ToList();
            var query = result.OrderBy(x => Guid.NewGuid()).Take(3);

            Repeater_ListUsers.DataSource = query;
            Repeater_ListUsers.DataBind();

        }
        DropDownList_NewRole.DataSource = (from x in db._Roles select x).ToList();
        DropDownList_NewRole.DataValueField = "Id";
        DropDownList_NewRole.DataTextField = "Role1";
        DropDownList_NewRole.DataBind();
    }

    public void getCurrentUserId(int Id)
    {
        // En quarry der henter id for brugeren på baggrund af sessionværdien.  
        var query = from x in db._Users where x.Id == Id select new Data { Id = x.Id };

        // Opret objektet
        PasswordClass passwordAgent = new PasswordClass();

        // Gem det id der returneres fra metoden i objektet
        int UserId = passwordAgent.ReturnId(query);

        // Vis id'et på siden
        Literal_UserId.Text = Convert.ToString(UserId);
    }

    protected void Button_SaveNewPassword_Click(object sender, EventArgs e)
    {
        // Oprettelse af objekt
        PasswordClass passwordAgent = new PasswordClass();

        // Initialisering af password
        passwordAgent.Password = TextBox_NewPassword.Text;

        // kald til updatePassword-metoden på objektet
        passwordAgent.updatePassword(db, Convert.ToInt32(Session["UserId"]), passwordAgent.Password);
    }
    protected void Repeater_ListUsers_ItemCommand(object source, RepeaterCommandEventArgs e)
    {
        int Id = Convert.ToInt32(e.CommandArgument);

        if (e.CommandName.Equals("Delete"))
        {
            var query = (from x in db._Users where x.Id == Id select x).ToList();
            foreach (var item in query)
            {
                db._Users.DeleteOnSubmit(item);
            }
            db.SubmitChanges();
            Response.Redirect("~/Default.aspx");
        }

        if (e.CommandName.Equals("Edit"))
        {
            div_NewUser.Visible = false;
            div_DeleteUser.Visible = false;
            div_EditUser.Visible = true;

            var query = (from x in db._Users where x.Id == Id select x);
            TextBox_UpdateUsername.Text = query.Single().User1;

            // Byg dropdown'en:
            // Første query repræsentrerer vores "rå" dropdown med rolleliste
            var queryDropDown = (from x in db._Roles select x).ToList();
            // Næste query finder den pågældendes rolle-id (FK_Role_Id)
            var queryUserRole = (from x in db._Users where x.Id == Id select x);
            // Her sætter vi en datasource på vores dropdown, så vi kan se noget i den
            DropDownList_UserRole.DataSource = queryDropDown;
            // Her fortæller vi hvad der er værdien...
            DropDownList_UserRole.DataValueField = "Id";
            // ... og hvad der er tekstfeltet (det vi kan se i dropdownen)
            DropDownList_UserRole.DataTextField = "Role1";
            // Her fortæller vi, på hvilket "felt" dropdown'en skal starte 
            DropDownList_UserRole.SelectedValue = Convert.ToString(queryUserRole.Single().FK_Role_Id);
            // Data bindes
            DropDownList_UserRole.DataBind();

            // Opret en sessionværdi der indeholder værdien af brugerens id
            Session["thisUser"] = Id;
        }


    }
    protected void Button_AddNewUser_Click(object sender, EventArgs e)
    {
        _User newUser = new _User
        {
            User1 = TextBox_NewUser.Text,
            Password = TextBox_Password.Text,
            FK_Role_Id = Convert.ToInt32(DropDownList_NewRole.SelectedValue)
        };
        db._Users.InsertOnSubmit(newUser);
        db.SubmitChanges();
        Response.Redirect("~/Default.aspx");
    }
    protected void Button_SaveChanges_Click(object sender, EventArgs e)
    {
        // Fjern sessionværdien der er blevet tildelt.
        if (Session["thisUser"] != null)
        {
            // find brugerens informationer i en qurey
            var query = (from x in db._Users where x.Id == Convert.ToInt32(Session["thisUser"]) select x);
            // sæt de nye værdier til kolonnerne
            query.Single().User1 = TextBox_UpdateUsername.Text;
            query.Single().FK_Role_Id = Convert.ToInt32(DropDownList_UserRole.SelectedValue);
            // Hvis man ikke har skrevet noget i tekstfeltet for password, skal dette ikke opdateres
            string updatePass = TextBox_UpdatePassword.Text;
            if (!string.IsNullOrEmpty(updatePass))
            {
                query.Single().Password = TextBox_UpdatePassword.Text;
            }
            db.SubmitChanges();
            Session.Remove("thisUser");
            Response.Redirect("~/Default.aspx");
        }
        
    }
    protected void Button_shuffle_Click(object sender, EventArgs e)
    {
        Guid g;
        // Create and display the value of two GUIDs.
        g = Guid.NewGuid();

        Response.Write(g);
    }
}

///////////////////////////////////////////////////////////////////////////////////////////////////

// Fil: Data.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

/// <summary>
/// Summary description for Data
/// </summary>
public class Data
{
	public Data()
	{
		//
		// TODO: Add constructor logic here
		//
	}
	public int Id { get; set; }
}

//////////////////////////////////////////////////////////////////////////////////////////////////

// Fil: PasswordClass.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

/// <summary>
/// Summary description for Password
/// </summary>
public class PasswordClass
{
	public string Password { get; set; }

	public PasswordClass()
	{
		//
		// TODO: Add constructor logic here
		//
	}
    
	public int ReturnId(IQueryable<Data> query)
	{
		return query.Single().Id;
	}

    public void updatePassword(DataClassesDataContext db, int Id, string s)
    {
        var query = (from x in db._Users where x.Id == Id select x);
        foreach (_User item in query)
        {
            item.Password = s;
        }
        db.SubmitChanges();
    }
}
// LINQ SELECT, INSERT & DELETE (NO UPDATE)
//
// File Default.aspx.cs

using System;
using System.Collections.Generic;
using System.Configuration;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
    private DataClassesDataContext db = new DataClassesDataContext();

    protected void Page_Load(object sender, EventArgs e)
    {
        Label_Servername.Text = ConfigurationManager.AppSettings["ServerName"];
        Label_Servername.Visible = false;


        if (!IsPostBack)
        {
            var query = from user in db._Users
                        join img in db._Images on user.Id equals img.UserId
                        select new { UserId = user.Id, Username = user.Name, ImageName = img.ImageName, Passw = user.Password };

            //Alternativt (1):
            //var ex = from x in db._Images where x._User.Id == x.UserId select new { Username = x._User.Name, ImageName = x.ImageName };

            //Alternativt (2):
            //var ex2 = db._Images.Where(x => x._User.Id == x.Id).Select(x => new { Username = x._User.Name, ImageName = x.ImageName });

            Repeater_Users.DataSource = query.ToList();
            Repeater_Users.DataBind();
        }

    }
    protected void Button_GemFil_Click(object sender, EventArgs e)
    {
        // Hvis der ER en fil
        if (FileUpload_UploadFil.HasFile == true)
        {
            // Hvis filen IKKE eksisterer i den pågældende sti (Images)
            if (!File.Exists(Server.MapPath("~/Images/" + FileUpload_UploadFil.FileName.ToString())))
            {
                try
                {
                    string Brugernavn = TextBox_Brugernavn.Text;
                    string _Password = TextBox_Password.Text;
                    string Filnavn = FileUpload_UploadFil.FileName.ToString();
                    
                    _User newUser = new _User
                    {
                        Name = Brugernavn,
                        Password = _Password,
                        Role = 1
                    };

                    db._Users.InsertOnSubmit(newUser);
                    db.SubmitChanges();
                    var id = newUser.Id;
                    
                    _Image newImage = new _Image
                    {
                        ImageName = Filnavn,
                        UserId = id
                    };

                    db._Images.InsertOnSubmit(newImage);
                    
                    // Flyt filen til den rigige mappe
                    FileUpload_UploadFil.SaveAs(Server.MapPath("~/Images/" + FileUpload_UploadFil.FileName.ToString()));
                    try
                    {
                        db.SubmitChanges();
                    }
                    catch (Exception ex)
                    {

                        Response.Write(ex.Message);
                    }

                }
                catch (Exception ex)
                {
                    Response.Write("Desværre: " + ex.Message);
                }

            }
            else
            {
                Response.Write("Filen eksisterer allerede");
            }
            Server.Transfer("~/Default.aspx");
        }
    }
    protected void Repeater_Users_ItemCommand(object source, RepeaterCommandEventArgs e)
    {
        try
        {
            // Id'en ligger i vores button, der ligger i vores repeater
            int Id = Convert.ToInt32(e.CommandArgument);
            
            // Find vores items fra Images-tabellen der skal slettes
            var query = (from x in db._Images where x.UserId == Id select x).ToList();
            
            // kør en foreach-løkke igennem der sætter item'et til sletning
            // Vi sletter både posten i tabellen OG billedet i mappen
            foreach (var slet in query)
            {
                db._Images.DeleteOnSubmit(slet);
                File.Delete(Server.MapPath("~/Images/" + slet.ImageName));
            }

            // slet!
            db.SubmitChanges();

            // Find vores items fra User-tabellen der skal slettes
            var query_user = (from x in db._Users where x.Id == Id select x).ToList();
            
            // Kør en foreach-løkke igennem der sætter item til sletning
            foreach (var item in query_user)
            {
                db._Users.DeleteOnSubmit(item);
            }
            //Slet!
            db.SubmitChanges();

        }
        catch (Exception ex)
        {
            Response.Write("Error: " + ex.Message);
        }

        // terminér processen, og gå til start-siden
        Server.Transfer("~/Default.aspx");
    }
}
//------------------------EOF

// File: Default.aspx
<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
    <asp:Label ID="Label_Servername" runat="server" Text="Label"></asp:Label>
    <asp:Repeater ID="Repeater_Users" runat="server" OnItemCommand="Repeater_Users_ItemCommand">
        <ItemTemplate>
            <div style="overflow: hidden; float: left; height: 320px; margin: 2px; padding: 5px; border: 1px solid #ccc">
                <div style="height:295px;">
                    <asp:Image ID="Image_User" ImageUrl='<%# "~/Images/" + Eval("ImageName")  %>' runat="server" Width="150" />
                    <p><%# Eval("Username") %> (<%# Eval("Passw") %>)</p>

                </div>
                <div>
                    <asp:Button ID="Button1" runat="server" OnClientClick="return confirm('Er du sikker?');" Text="Slet" CommandArgument='<%# Eval("UserId") %>' />
                </div>
            </div>
        </ItemTemplate>

    </asp:Repeater>
    <div style="clear: both; min-height: 300px; margin: 2px; padding: 5px; border: 1px solid #ccc;">
        <p>Indsæt mig</p>
        <asp:TextBox ID="TextBox_Brugernavn" runat="server"></asp:TextBox>
        <asp:TextBox ID="TextBox_Password" runat="server"></asp:TextBox>

        <asp:FileUpload ID="FileUpload_UploadFil" runat="server" />
        <asp:Button ID="Button_GemFil" runat="server" Text="Gem" OnClick="Button_GemFil_Click" />
    </div>
</asp:Content>
// -----------------------------------------------------------------------
//
// Fil: (Test.aspx.cs) en codebehind-fil der henter en klasses offentlige metoder
//

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Test : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Repeater_ShowMembers.DataSource = Helper.GetMemberList();
        Repeater_ShowMembers.DataBind();
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        Helper.HandleController(TextBox_Test);
    }
}

// -----------------------------------------------------------------------
//
// Fil: (Helper.cs) en klasse der manipulerer med: en webcontrol og en liste
//

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI.WebControls;

/// <summary>
/// Summary description for Helper
/// </summary>
public class Helper
{
    public static DataClassesDataContext db = new DataClassesDataContext();
	public Helper()
	{
		//
		// TODO: Add constructor logic here
		//
	}

	public static void HandleController(WebControl Kontrol)
	{
        // Måske ikke så pænt, men her tester vi på, om det ER en TextBox vi sender med som parameter, fra vores Front-kode (ikke vist)
		if (Kontrol.GetType().ToString().Equals("System.Web.UI.WebControls.TextBox"))
        {
            TextBox minTextBox = (TextBox)Kontrol;
            minTextBox.Text = "Ja: " + Kontrol.GetType();
            minTextBox.TextMode = TextBoxMode.MultiLine;
			minTextBox.Columns = 30;
            minTextBox.Rows = 15;
            minTextBox.Height = 100;
        }
        else
        {
            TextBox minTextBox = (TextBox)Kontrol;
            minTextBox.Text = "Nej: " + Kontrol.GetType();
        }
	}

    public static List<_n8rd> GetMemberList()
    {
        var query = (from x in db._n8rds select new { Navn = x.Name, Efternavn = x.Lastname });

        List<_n8rd> userList = new List<_n8rd>();
        foreach (var item in query)
        {
            // Vi vil ikke have "test"-navne i vores liste
            if (item.Navn != "test")
            {
                userList.Add(new _n8rd() { Name = item.Navn, Lastname = item.Efternavn });   
            }
        }

        return userList;   
    }
}
// Tilf�ldigt tal

// Snippit

 Random tilf�ldigt = new Random();
 double tal = tilf�ldigt.NextDouble();
 double nytTal = Math.Floor(tal * 1000000);
 string mitStoreTal= Convert.ToString(nytTal);
//
// Fil: Produkt.aspx.cs
// 
//


using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Produkter : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Request.QueryString["Overskrift"] != null)
        {
            Label LblOverskrift = (Label)Master.FindControl("LabelOverskrift");
            LblOverskrift.Text = Request.QueryString["Overskrift"].ToString();
        }

        // Note: Der er ikke undervist i TryParse.
        int number;
        string value = Convert.ToString(Request.QueryString["KatId"]);
        bool result = Int32.TryParse(value, out number);
        if (result)
        {
            // Se her
			if (Request.QueryString["KatId"] != null)
            {
                int KatId = Convert.ToInt32(Request.QueryString["KatId"]);

                //Response.Write("Vi skal hente alle produkter, der hører til kategorien med Id = " + Request.QueryString["KatId"]);
                // opret forbindelsen til databasen
                SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["DatabaseConnectionString1"].ToString());

                // opret et SqlCommand object
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = conn;

                //Sql sætningen
                cmd.CommandText = @"
                
                SELECT Produkt.*, Producent.Producentnavn, Kategori.Navn AS Kategorinavn

                FROM Produkt 
                INNER JOIN Producent
                ON Produkt.FK_Producent_Id = Producent.Id
                INNER JOIN Kategori
                ON Produkt.FK_Kategori_Id = Kategori.Id

                WHERE Produkt.FK_Kategori_Id = @KatId";

                cmd.Parameters.Add("@KatId", SqlDbType.Int).Value = KatId;

                // åben forbindelsen til databasen
                conn.Open();

                // opret en SqlDataReader og navngiv den "reader"
                // SqlDataReader er en beholder eller tabel der indeholder en 
                // kopi af det, der er udtrukket fra databasen
                SqlDataReader reader = cmd.ExecuteReader();
                
                // Vælg datasource og bind vores repeater
                RepeaterProdukt.DataSource = reader;
                RepeaterProdukt.DataBind();

                // luk forbindelsen til databasen
                conn.Close();
            }
        }
    }
}
//
// Fil: Default.aspx.cs
// Gå igennem en repeater
// RepeaterItem
//
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;

public partial class Butikken : System.Web.UI.Page
{
    
	protected void Page_Load(object sender, EventArgs e)
	{
		// Første gang siden loades
		if (!Page.IsPostBack)
		{
			if (Request.QueryString["KatId"] == null)
			{
				int KatId = 1;
				DatabaseClass minNyeDataAgent = new DatabaseClass();
				minNyeDataAgent.Id = KatId;
				RepeaterVisProduktliste.DataSource = minNyeDataAgent.VisProdukter();
				RepeaterVisProduktliste.DataBind();
				//
			}
			else
			{
				int KatId = Convert.ToInt32(Request.QueryString["KatId"]);
				DatabaseClass minNyeDataAgent = new DatabaseClass();
				minNyeDataAgent.Id = KatId;
				RepeaterVisProduktliste.DataSource = minNyeDataAgent.VisProdukter();
				RepeaterVisProduktliste.DataBind();
			}
		}
	}

	protected void RepeaterVisProduktliste_ItemCommand(object source, RepeaterCommandEventArgs e)
	{
		foreach (RepeaterItem item in RepeaterVisProduktliste.Items)
		{
			bool nytProdukt = true;
			// Find de pågældende værdier ved at se på hvert enkelt item i Repeateren
			CheckBox minCheckBox = (CheckBox)item.FindControl("CheckBoxBestil");
			TextBox minTextBoxAntal = (TextBox)item.FindControl("TextBoxAntal");
			HiddenField mitHiddenFieldId = (HiddenField)item.FindControl("HiddenFieldVareId");
			Label minLabelPris = (Label)item.FindControl("LabelPris");
			Label minLabelVarenavn = (Label)item.FindControl("LabelVarenavn");
			
			if (minCheckBox.Checked)
			{
				ButtonTømKurv.Visible = true;
				// Undersøg om produktet findes i kurven
				foreach (ProduktIKurv produkt in kurv)
				{
					//Hvis produktet er fundet
					if (produkt.Id == Convert.ToInt32(mitHiddenFieldId.Value))
					{
						produkt.Antal += Convert.ToInt32(minTextBoxAntal.Text);
						produkt.SamletPris += produkt.Antal * produkt.Pris;

						// Så er der ikke noget nyt produkt mere
						nytProdukt = false;
					}
				}

				//Er det et nyt produkt?
				if (nytProdukt)
				{
					kurv.Add(new ProduktIKurv(
						Convert.ToInt32(mitHiddenFieldId.Value),
						minLabelVarenavn.Text, Convert.ToDecimal(minLabelPris.Text),
						Convert.ToInt32(minTextBoxAntal.Text)
						));
				}
			}
		}
	}
}
protected void RepeaterVisProduktliste_ItemCommand(object source, RepeaterCommandEventArgs e)
    {
        List<ProduktIKurv> kurv = new List<ProduktIKurv>();
        kurv = TagKurv(kurv);
        
        foreach (RepeaterItem item in RepeaterVisProduktliste.Items)
        {
            bool nytProdukt = true;
            // Find de pågældende værdier ved at se på hvert enkelt item i Repeateren
            CheckBox minCheckBox = (CheckBox)item.FindControl("CheckBoxBestil");
            TextBox minTextBoxAntal = (TextBox)item.FindControl("TextBoxAntal");
            HiddenField mitHiddenFieldId = (HiddenField)item.FindControl("HiddenFieldVareId");
            Label minLabelPris = (Label)item.FindControl("LabelPris");
            Label minLabelVarenavn = (Label)item.FindControl("LabelVarenavn");
            
            if (minCheckBox.Checked)
            {
                ButtonTømKurv.Visible = true;
                // Undersøg om produktet findes i kurven
                foreach (ProduktIKurv produkt in kurv)
                {
                    //Hvis produktet er fundet
                    if (produkt.Id == Convert.ToInt32(mitHiddenFieldId.Value))
                    {
                        produkt.Antal += Convert.ToInt32(minTextBoxAntal.Text);
                        produkt.SamletPris += produkt.Antal * produkt.Pris;

                        // Så er der ikke noget nyt produkt mere
                        nytProdukt = false;
                    }
                }

                //Er det et nyt produkt?
                if (nytProdukt)
                {
                    kurv.Add(new ProduktIKurv(
                        Convert.ToInt32(mitHiddenFieldId.Value),
                        minLabelVarenavn.Text, Convert.ToDecimal(minLabelPris.Text),
                        Convert.ToInt32(minTextBoxAntal.Text)
                        ));
                }
                // Varen skal naturligvis i kurven (Her bliver de bare skrevet ud!)
                /** */
                LabelTest.Text += "<p>Checked: Antal:" + minTextBoxAntal.Text + ", VareId: "+mitHiddenFieldId.Value+", Pris: " + minLabelPris.Text + ", Navn: " + minLabelVarenavn.Text + "</p>";

                
            }
            VisKurv(kurv);
        }
    }

// Fil: SimpelListe.aspx.cs
// Viser en liste med ugedage
//

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Lister_SimpelListe : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        List<string> ugedagList = new List<string>();

        ugedagList.Add("Mandag");
        ugedagList.Add("Tirsdag");
        ugedagList.Add("Onsdag");
        ugedagList.Add("Torsdag");
        ugedagList.Add("Fredag");
        ugedagList.Add("Lørdag");
        ugedagList.Add("Søndag");

        Literal_ugedage.Text = "<ul>";
        foreach (var item in ugedagList)
        {
            Literal_ugedage.Text += "<li>" + item + "</li>";
        }
        Literal_ugedage.Text += "</ul>";
    }
}

// SJOV OG BALLADE LIST<> og meget andet
// Fil: Default.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>Diverse sjov</title>
    <style type="text/css">
        Body { font-family:Verdana;}
        div,p { padding:10px; margin:3px; border:1px solid #dddddd;}
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Label ID="LabelTekstArray" runat="server" Text=""></asp:Label>
    </div>
    <div>
        <asp:Label ID="LabelprimesArray" runat="server" Text=""></asp:Label>
    </div>
    <div>
        <asp:Label ID="LabelDuck" runat="server" Text=""></asp:Label>
    </div>
    <div>
        <asp:Repeater ID="Repeater_List" runat="server">
        <ItemTemplate>
           <p><%# Eval("key") %></p>
        </ItemTemplate>
        </asp:Repeater>
    </div>
    
    <div>
        <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack=true
            onselectedindexchanged="DropDownList1_SelectedIndexChanged">
            <asp:ListItem Value="1">Flemming Hansen</asp:ListItem>
            <asp:ListItem Selected="True" Value="2">Nose Bleed</asp:ListItem>
            <asp:ListItem Value="3">dotNET</asp:ListItem>
        </asp:DropDownList>
    
        <asp:Label ID="Label1" runat="server" Text=""></asp:Label>
        
    </div>
    <div>   
        <asp:Label ID="Label_BogensTitel" runat="server" Text=""></asp:Label>
    </div>
    <div>
        <asp:Label ID="Label_S" runat="server" Text=""></asp:Label>
    </div>
    
    <div>
    <script runat="server" >
      void Selection_Change(Object sender, EventArgs e)
      {

         // Set the background color for days in the Calendar control
         // based on the value selected by the user from the 
         // DropDownList control.
         Calendar1.DayStyle.BackColor = System.Drawing.Color.FromName(ColorList.SelectedItem.Value);
      }
   </script>

   <h3> DropDownList Example </h3>

    Select a background color for days in the calendar.

    <br /><br /> 

    <asp:Calendar id="Calendar1"
        ShowGridLines="True" 
        ShowTitle="True"
        runat="server"/>

    <br /><br />

      <table cellpadding="5">
         <tr>
            <td>Background color:</td>
        </tr>
         <tr>
            <td>
               <asp:DropDownList id="ColorList"
                    AutoPostBack="True"
                    OnSelectedIndexChanged="Selection_Change"
                    runat="server">

                  <asp:ListItem Selected="True" Value="White"> White </asp:ListItem>
                  <asp:ListItem Value="Silver"> Silver </asp:ListItem>
                  <asp:ListItem Value="DarkGray"> Dark Gray </asp:ListItem>
                  <asp:ListItem Value="Khaki"> Khaki </asp:ListItem>
                  <asp:ListItem Value="DarkKhaki"> Dark Khaki </asp:ListItem>

               </asp:DropDownList>
            </td>
         </tr>
      </table>
    </div>
    </form>
</body>
</html>


//
//
// Default.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string[] input = { "Brachiosaurus", 
                           "Amargasaurus", 
                           "Mamenchisaurus" };

        List<string> mitTekstArray = new List<string>(input);

        mitTekstArray.Add("Tyrannosaurus den store");
        mitTekstArray.Add("Amargasaurus den gule");
        mitTekstArray.Add("Mamenchisaurus den flotte");

        foreach (string tekstvaerdi in mitTekstArray)
        {
            LabelTekstArray.Text += "<p>" + tekstvaerdi + "</p>";
        }


        ////////////////////////////////////////////////////////////////////////////////
        

        List<Array> arr = new List<Array>();

        ////////////////////////////////////////////////////////////////////////////////

        int[] primesArray = new int[] { 2, 3, 5 };

        LabelprimesArray.Text = "<p>" + primesArray[1].ToString() + "</p>";

        ////////////////////////////////////////////////////////////////////////////////

        List<string> ænder = new List<string>();
        ænder.Add("Anders And");
        ænder.Add("Fætter Guf");
        foreach (string Duck in ænder)
        {
            LabelDuck.Text += Duck +" ";
        }

        ////////////////////////////////////////////////////////////////////////////////

        var b1 = new { Titel = ".NET for hackere" };
        string BogensTitel = b1.Titel;
        Label_BogensTitel.Text = BogensTitel.ToString();


        ////////////////////////////////////////////////////////////////////////////////

        Dictionary<string, string> a = new Dictionary<string, string>();
        a.Add("ant", "AUNT_ID");
        a.Add("Sam", "AUNT_NAME");
        a.Add("clozapine", "OPTION");

        string s = a["ant"]; // gets "AUNT_ID i en h1'er"
        Label_S.Text = "<h1>" + s + "</h1>";


        Repeater_List.DataSource = a;
        Repeater_List.DataBind(); 
        
        ////////////////////////////////////////////////////////////////////////////////

        int i;
        if (!IsPostBack) // Så er det første gang siden vises, og så ser vi alle tallene i Label1!
        {
            for (i = 0; i < 90; i++)
            {
                Label1.Text += " " + Convert.ToString(i);
            }
        }
              
    }
    // Her ændrer vi på dropdownlist!
    protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {
        Label1.Text = DropDownList1.SelectedItem.Value.ToString();
    }

    ////////////////////////////////////////////////////////////////////////////////
}

//
// EOF
//
//
// Skift farve På række i et Loop
// Fil Default.aspx (Udtræk, hele filen vises ikke)
//

<asp:Repeater ID="RepeaterVisProduktliste" runat="server" OnItemCommand="RepeaterVisProduktliste_ItemCommand" OnItemDataBound="RepeaterVisProduktliste_ItemDataBound">
	<HeaderTemplate>
		<table cellspacing="0" border="0">
			<tr class="bgGreen colorWhite"><td>Tilføj</td><td>Stk.</td><td>Produktnavn</td><td>Pris</td><td>Mere info</td><td>&nbsp;</td></tr>
	</HeaderTemplate>
	<ItemTemplate>
		<tr ID="Tr1" runat="server" class='<%#(Container.ItemIndex+1)%2==0?"bgBlack":"bgGrey"%>'>
			<td>
				<asp:CheckBox ID="CheckBoxBestil" runat="server" /></td>
			<td>
				<asp:TextBox ID="TextBoxAntal" Width="25px" runat="server"></asp:TextBox></td>
			<td>
				<asp:Label ID="LabelVarenavn" runat="server" Text='<%# Eval("Produktnavn") %>'></asp:Label></td>
			<td><asp:Label ID="LabelPris" runat="server" Text='<%# Eval("Pris") %>'></asp:Label></td>
			<td><a href='?id=<%# Eval("Id") %>'>Info</a></td>
			
			<td><asp:HiddenField ID="HiddenFieldVareId" Value='<%# Eval("Id") %>' runat="server" /></td>
		</tr>
	</ItemTemplate>
	<FooterTemplate><tr><td colspan="6">
		<asp:Button ID="ButtonOpdaterKurv" runat="server" Text="Opdatér (eller vis) kurv" /></td></tr></table></FooterTemplate>
</asp:Repeater>

//	GENBRUG AF SQLCONNECTION
//	Fil: Ordresiden.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Configuration;

public partial class Ordresiden : System.Web.UI.Page
{
    // Denne connectionstring bruges igen og igen! Derfor ligger den uden for Page_Load!
    private SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["DatabaseConnectionString1"].ToString());

    protected void Page_Load(object sender, EventArgs e)
    {
        // 6.1
        SqlCommand cmd_61 = new SqlCommand("SELECT * FROM Kunder ORDER BY Id", conn);
        conn.Open();
        Repeater_61.DataSource = cmd_61.ExecuteReader();
        Repeater_61.DataBind();
        conn.Close();

        // Gemmer min SQL-sætning i en label, og udskriver denne.
        Label_61_SQL.Text = cmd_61.CommandText.ToString();

        //////////////////////////////////////////////////////
        // 6.2
        SqlCommand cmd_62 = new SqlCommand("SELECT * FROM Ordrer ORDER BY Dato DESC", conn);
        conn.Open();
        Repeater_62.DataSource = cmd_62.ExecuteReader();
        Repeater_62.DataBind();
        conn.Close();

        // Gemmer min SQL-sætning i en label, og udskriver denne.
        Label_62_SQL.Text = cmd_62.CommandText.ToString();

        //////////////////////////////////////////////////////
        // 6.2
        SqlCommand cmd_63 = new SqlCommand(
            @"SELECT TOP(1) Ordrer.Dato, Kunder.Navn, Ordrer.Id AS Ordre_Id,  Ordrer.Er_betalt,
            Ordrer_Linjer.BirgersBolcher_Id
            FROM Ordrer
            INNER JOIN Kunder
            ON Ordrer.Kunder_id = Kunder.Id
            INNER JOIN Ordrer_Linjer
            ON Ordrer_Linjer.Ordrer_Id = Ordrer.Id
            ORDER BY Dato DESC", conn);

        conn.Open();
        Repeater_63.DataSource = cmd_63.ExecuteReader();
        Repeater_63.DataBind();
        conn.Close();

        // Gemmer min SQL-sætning i en label, og udskriver denne.
        Label_63_SQL.Text = cmd_63.CommandText.ToString();

        //////////////////////////////////////////////////////
        // 7.1
        SqlCommand cmd_71 = new SqlCommand(
            @"SELECT COUNT (Ordrer.Kunder_Id) AS Antal, Kunder.Navn
            FROM Ordrer
            INNER JOIN Kunder
            ON Ordrer.Kunder_id = Kunder.Id 
            GROUP BY Ordrer.Kunder_Id,Kunder.Navn
            ", conn);

        conn.Open();
        Repeater_71.DataSource = cmd_71.ExecuteReader();
        Repeater_71.DataBind();
        conn.Close();

        // Gemmer min SQL-sætning i en label, og udskriver denne.
        Label_71_SQL.Text = cmd_71.CommandText.ToString();

        //////////////////////////////////////////////////////
        // Ekstra
        SqlCommand cmd_ekstra = new SqlCommand(
            @"SELECT MAX (Ordrer.Dato)  AS SenesteOrdre, Kunder.Navn, Ordrer_Linjer.Id AS OrdrelinieId
            FROM Ordrer
            INNER JOIN Ordrer_Linjer
            ON Ordrer_Linjer.Ordrer_Id = Ordrer.Id
            INNER JOIN Kunder
            ON Ordrer.Kunder_id = Kunder.Id 
            GROUP BY Ordrer_Linjer.Id,Kunder.Navn
            ", conn);

        conn.Open();
        Repeater_ekstra.DataSource = cmd_ekstra.ExecuteReader();
        Repeater_ekstra.DataBind();
        conn.Close();

        // Gemmer min SQL-sætning i en label, og udskriver denne.
        Label_ekstra_SQL.Text = cmd_ekstra.CommandText.ToString();


        //////////////////////////////////////////////////////
        // Jack
        SqlCommand cmd_Jack = new SqlCommand(
        @"
        SELECT BirgersBolcher.Navn AS Bolchenavn, Ordrer_Linjer.*
        FROM Ordrer_Linjer
        INNER JOIN BirgersBolcher ON BirgersBolcher.Id = Ordrer_Linjer.BirgersBolcher_Id
        WHERE Ordrer_Linjer.Ordrer_Id = 
            (SELECT top(1) Ordrer.Id 
            FROM Ordrer 
            ORDER BY Ordrer.Dato DESC)
        ", conn);
        
        conn.Open();
        Repeater_Jack.DataSource = cmd_Jack.ExecuteReader();
        Repeater_Jack.DataBind();
        conn.Close();

        // Gemmer min SQL-sætning i en label, og udskriver denne.
        Label_Jack_SQL.Text = cmd_Jack.CommandText.ToString();
    }

}

//
// EOF
//

// SQLCONNECTION
// Fil: Default.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Configuration;
using System.Data;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        SqlConnection conn = new SqlConnection();
        conn.ConnectionString = ConfigurationManager.ConnectionStrings["DatabaseConnectionString1"].ToString();

        SqlCommand cmd = new SqlCommand();
        cmd.Connection = conn;

        cmd.CommandText = "SELECT * FROM tabelnavn";

        DataTable dt = new DataTable();
        SqlDataAdapter adapter = new SqlDataAdapter(cmd);
        adapter.Fill(dt);
        Repeater1.DataSource = dt;
        Repeater1.DataBind();
	}
}

///
///

//
// Kør SQL-Kommando direkte
//

CREATE TABLE [dbo].[DitTabelnavn]
(
	[Id] INT NOT NULL PRIMARY KEY IDENTITY (1,1), 
    [Brugernavn] NVARCHAR(50) NOT NULL, 
    [Adgangskode] NVARCHAR(50) NOT NULL, 
    [FK_rolle_id] INT NOT NULL
)

//
// Brudstykke af fil. Find vaerdi i tekstbox
//

protected void DataList1_SelectedIndexChanged(object sender, EventArgs e)
    
{
        int id = Convert.ToInt32(DataList1.DataKeys[DataList1.SelectedIndex]);

        TextBox tb = (TextBox)DataList1.Items[DataList1.SelectedIndex].FindControl("TextBoxAntal");

        string antal = tb.Text;

        Response.Write(id + antal);
        // Koer ret/slet metode her
}

// TABELLER
// Fil: Default.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></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
    </div>
    <asp:GridView ID="GridView1" runat="server">
    </asp:GridView>
    </form>
</body>
</html>
//
//
//
// Fil: Default.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;



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

        //
        // Get the DataTable.
        //
        DataTable table = GetTable();

        // Use DataTable here with SQL, etc.

        // Loop over the rows.
        foreach (DataRow row in table.Rows)
        {
            Response.Write("<br />");
            foreach (var item in row.ItemArray)
            {
                Response.Write(item.ToString());
            }
        }
        
        //GridView1.DataSource = null;
        GridView1.DataSource = table;
        GridView1.DataBind();

    }
        
    /// <summary>
    /// This example method generates a DataTable.
    /// </summary>
    static DataTable GetTable()
    {
	//
	// Here we create a DataTable with four columns.
	//
	DataTable table = new DataTable();
	table.Columns.Add("Dosage", typeof(int));
	table.Columns.Add("Drug", typeof(string));
	table.Columns.Add("Patient", typeof(string));
	table.Columns.Add("Date", typeof(DateTime));

	//
	// Here we add five DataRows.
	//
	table.Rows.Add(25, "Indocin", "David", DateTime.Now);
	table.Rows.Add(50, "Enebrel", "Sam", DateTime.Now);
	table.Rows.Add(10, "Hydralazine", "Christoff", DateTime.Now);
	table.Rows.Add(21, "Combivent", "Janet", DateTime.Now);
	table.Rows.Add(100, "Dilantin", "Melanie", DateTime.Now);
	return table;

    }
}

           
// ADGANG TIL MYSQL HOS UNOEURO VIA ASP.NET
// OPRET EN MAPPE I RODEN AF DIT PROJEKT DU KALDER FOR bin
// UPLOAD DEREFTER FILEN MySql.Data.dll TIL DENNE MAPPE. KAN HENTES FRA MAPPE: 
// (c/programmer/mysql/mysql connector net 6.8.3/assemblies) HVIS DU INSTALLERER mysql-connector-net-6.8.3.msi

// FIL: Default.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using MySql.Data.MySqlClient;

public partial class Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            CheckMyConnection();
        }
    }

    private void CheckMyConnection()
    {
        // connectionstring
        string connectionString = @"Data Source=NAVN_PÅ_SERVER; Database=NAVN_PÅ_DATABASE; User ID=DIT_BRUGERNAVN; password=DIT_PASSWORD";
        try
        {
            using (MySqlConnection conn = new MySqlConnection(connectionString))
            {
                conn.Open();
                //Response.Write("SqlConnection successful");
                MySqlCommand cmd = conn.CreateCommand();
                cmd.CommandText = "SELECT * FROM NAVN_PÅ_DIN_TABEL";
                cmd.Connection = conn;

                MySqlDataReader reader = cmd.ExecuteReader();

                while (reader.Read())
                {
                    Response.Write(reader.GetValue(0).ToString());
                }

                cmd.Dispose();
                conn.Close();
        
            }
        }
        catch (Exception)
        {

            Response.Write("SqlConnection NOT successful");
        }

        
    }
}