開(kāi)發(fā)語(yǔ)言:C#
軟件環(huán)境:SQL Server 2005、Windows2003、VS2008
1、如圖所示,我們現(xiàn)在制作簡(jiǎn)單的登錄界面,那么,就要用到4個(gè)控件:TextBox、Label、Button、RequiredFieldValidator。
1)TextBox控件:用戶輸入信息的控件
2)Label控件:頁(yè)面顯示信息的控件
3)Button控件:信息提交按鈕控件
4)RequiredFieldValidator控件:驗(yàn)證所要監(jiān)視的控件是否輸入了內(nèi)容。
2、web.config文件是網(wǎng)站的配置文件,負(fù)責(zé)整個(gè)站點(diǎn)的參數(shù)配置。
<connectionStrings>
<add name="miaoyizhai" connectionString="Data Source=.;Initial Catalog=miaoyizhai;User ID=sa;Pwd=1"/>
</connectionStrings>
注:name是后臺(tái)代碼兩個(gè)文件(.aspx.cs)ConfigurationManager類獲取數(shù)據(jù)庫(kù)連接字符串。
Data Source=服務(wù)器名;Initial Catalog=數(shù)據(jù)庫(kù)名;User ID=用戶名;Pwd=密碼
3、一個(gè)asp.net動(dòng)態(tài)頁(yè)面包括前臺(tái)頁(yè)面(.aspx)和后臺(tái)代碼兩個(gè)文件(.aspx.cs)。
前臺(tái)頁(yè)面
1)后臺(tái)代碼頁(yè)面
用到的對(duì)象有:
Connection對(duì)象:數(shù)據(jù)庫(kù)連接對(duì)象,主要是開(kāi)啟程序和數(shù)據(jù)庫(kù)之間的連接,如果沒(méi)有利用連接對(duì)象將數(shù)據(jù)庫(kù)打開(kāi),是無(wú)法從數(shù)據(jù)庫(kù)中取得數(shù)據(jù)的。
Command對(duì)象:主要用來(lái)對(duì)數(shù)據(jù)庫(kù)發(fā)出一些指令,例如本例中的對(duì)數(shù)據(jù)庫(kù)下達(dá)了查詢指令。
DataReader對(duì)象:一次只讀取數(shù)據(jù)源中的一行數(shù)據(jù)。方法Read,讀取下一條記錄,如果讀到記錄返回True,否則返回False。方法Close,關(guān)閉DataReader對(duì)象。
Session對(duì)象:用于存儲(chǔ)登錄用戶在WEB頁(yè)面中會(huì)話的專用信息
Response對(duì)象:由服務(wù)器端發(fā)送信息到客戶端瀏覽器。Write方法在頁(yè)面上輸出數(shù)據(jù)。Redirect方法實(shí)現(xiàn)頁(yè)面重定向的功能。
//使用using關(guān)鍵字來(lái)引用命名空間
using System;
using System.Collections;
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;//創(chuàng)建Connection對(duì)象前要引用此命名空間
public partial class denglu : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
//聲明 TextBox1控件的變量為xingming
string xingming = TextBox1.Text;
//聲明 TextBox2控件的變量為mima
string mima = TextBox2.Text;
//使用ConfigurationManager類獲取數(shù)據(jù)庫(kù)連接字符串
string sqlstr = ConfigurationManager.ConnectionStrings["miaoyizhai"].ConnectionString;
//創(chuàng)建數(shù)據(jù)庫(kù)連接對(duì)象
SqlConnection conn = new SqlConnection(sqlstr);
//打開(kāi)數(shù)據(jù)庫(kù)
conn.Open();
//登錄時(shí)查詢數(shù)據(jù)庫(kù)是否有此用戶的存在
string sql = "select * from [yuangongbiao] where xingming='" + xingming + "' and mima='" + mima + "'";
//操作數(shù)據(jù)庫(kù)
SqlCommand cmd = new SqlCommand(sql, conn);
//創(chuàng)建SqlDataReader對(duì)象
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read() == false)
{
dr.Close();
//用戶名或者密碼輸入錯(cuò)誤時(shí)彈出一個(gè)對(duì)話框
Response.Write("<script>alert('用戶名或密碼錯(cuò)誤!')</script>");
}
else
{
//在Session對(duì)象中記錄用戶名和用戶身份信息
Session["xingming"] = xingming;
Session["guanliyuan"] = dr["guanliyuan"];
//根據(jù)身份不同跳轉(zhuǎn)不同的頁(yè)面
if (Convert.ToBoolean(Session["guanliyuan"]))
{
Response.Redirect("houtaishouye.aspx");
//管理員默認(rèn)頁(yè)面,進(jìn)入后臺(tái)管理頁(yè)面
}
else
{
Response.Redirect("index.aspx");
//一般用戶默認(rèn)首頁(yè)
}
}
dr.Close();
//關(guān)閉數(shù)據(jù)庫(kù)
conn.Close();
}
}
注:上面的登錄頁(yè)面的制作,需要了解一些C#和asp.net的基本知識(shí)。對(duì)于完全對(duì)asp.net沒(méi)有了解的您來(lái)說(shuō),制作這個(gè)頁(yè)面可能會(huì)比較辛苦。