|
ASP.net (199)
ASP 3.0 (111)
PHP (30)
HTML (66)
SQL (89)
CSS (46)
XML (7)
JavaScript (78)
Diverse kode (13)
Programmering (22)
System og drift (15)
Trafikk og inntekt (11)
Guider og tips (22)
Nyttig lesestoff (23)
Web forum (604)
Link galleri (565)
ASP.NET kurs(5)
CSS kurs (2)
JQuery kurs (2)
Øk trafikken (8)
Facebook App. (4)
Microsoft CEO (6)
Server & web
Internett & epost
Systemverktøy
Sikkerhet
Fildeling
Lyd & media
Diverse software
Domenesalg
Metagenerator
Websikre farger
WebMail
Bli medlem!
Siste innlegg
Gjestebok
Tips en venn
Kontakt oss
Forsiden
|
|
Lær deg ASP.NET Del 5: Detaljvisning av valgt artikkel Av: Øyvind A. Isaksen
Etter å ha klikket på ønsket artikkel i artikkellisten skal den aktuelle artikkelen vises i sin helhet. Her viser vi deg hvordan man henter ut og presenterer en enkelt artikkel utifra artikkelens unike ID.
Hente artikkel fra database med Stored Procedure
Vi har tidligere sett på hvordan man oppretter en Stored Procedure i SQL Server 2008 Express. Vi har også forklart fordelene med å bruke Stored Procedure fremfor Inline SQL.
Åpne databasen og opprett en ny Stored Procedure med navn "spGetArticle". Vi ønsker å hente ut en bestemt artikkel utifra angitt ID, SQL spørringen blir dermed seende slik ut:
USE [Minside]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[spGetArticle]
(
@ArticleID tinyint
)
AS
BEGIN
SET NOCOUNT ON;
SELECT title,ingress,body,date from tblArticles where id=@ArticleID
END
Opprett ny ASPX-fil for visning av artikkel
Det neste vi skal gjøre er å opprette filen som skal vise valgt artikkel. Høyreklikk på mappen "Templates" og velg "Add new item...". Velg så at filen skal baseres på "Web Form" malen. Gi filen navnet "Article.aspx" og klikk på "Add". Til slutt velger du "Default.master" som din masterpage. Klikk "Ok".
Legg inn følgende kode i Article.aspx file (code front):
<%@ Page Title="" Language="C#" MasterPageFile="~/Templates/Default.master" AutoEventWireup="true" CodeFile="Article.aspx.cs" Inherits="Templates_Article" %>
<asp:Content ID="Content1" ContentPlaceHolderID="Main" Runat="Server">
<h1><asp:Label runat="server" ID="lblTitle" /></h1>
Publisert: <asp:Label runat="server" ID="lblPublishDate" /><br /><br />
<b><asp:Label runat="server" ID="lblIngress" /></b><br /><br />
<asp:Label runat="server" ID="lblBody" />
</asp:Content>
I Article.aspx.cs (code behind fila) legger du så inn følgende kode:
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 Templates_Article : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
if (Request.QueryString["id"] != null)
{
BindArticle(int.Parse(Request.QueryString["id"].ToString()));
}
}
}
protected void BindArticle(int ArticleId)
{
SqlConnection conn = new SqlConnection(Minside.Common.ConnString);
SqlCommand cmd = new SqlCommand("spGetArticle", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("ArticleID", ArticleId));
cmd.Connection.Open();
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
this.lblTitle.Text = dr["title"].ToString();
this.lblPublishDate.Text = dr["date"].ToString();
this.lblIngress.Text = dr["ingress"].ToString();
this.lblBody.Text = dr["body"].ToString();
}
cmd.Connection.Close();
cmd.Dispose();
conn.Dispose();
}
}
Trykk CHRL+Shift+b og prosjektet ditt vil bygges, du skal da få "Build succeeded" om alt er korrekt programmert.
For å teste nettsiden din, trykk F5. Nettsiden vil da vises. Klikk på et menypunkt slik at en artikkelliste vises. På en av disse artiklene klikker du så på "les mer". Artikkelen vi da vises i sin helhet på følgende måte:
Oppsummering
Vi har i denne delen sett på hvordan man henter ut en enkelt artikkel fra databasen utifra artikkelens ID. Deretter har vi laget en side som binder data bra databasen til webkontrollere på nettsiden vår.
Nedlasting av filer
Last ned hele prosjektet (del 1-5) her:
www.webressurs.no/kurs/aspnet/del5/MinSide.zip
|
|