基于ASP.NET技术的驾校网页设计

asp.net|设计|网页|网页设计

  摘 要 本文以驾校管理系统为例,介绍如何利用asp.net和SQL server 2000来进行动态网页设计,以满足用户对数据库实时更新以及查询的要求。

  关键词 asp.net; c#; SQL server 2000

  引言

  近年来,随着Internet的迅速发展以及网页制作技术的日臻完善,驾校信息管理系统软件的设计也日趋简单化和规范化。这里我们将采用asp.net动态网页技术,通过编写c#脚本语言对SQL server 2000数据库进行操作,以实现系统中的诸多功能,如“报名录入”,“报名资料查询”,“确认合格学员”,“学员资料查询”等等。

  asp.net 、c#和ado.net

  1、ASP.NET是microsoft推出的一种强大的Web服务器端技术,与ASP相比,ASP.NET拥有更高性能的编译特性与缓存机制。支持多种开发语言,包括C#、J#、Visual Basic和JScript。ASP.NET分离程序代码与显示内容,使代码看起来更简洁。由于ASP.NET的程序代码是编译过的,所以执行时会比ASP快很多。

  2、C#语言是Microsoft针对.Net平台开发的一种全新的编程语言。它是一种面相对象的开发语言,因此具有封装、继承和多态性。C#语法简洁,效率高,并且可以与以其他.NET语言编写的代码进行兼容。

  3、ADO.NET用于在 Microsoft .NET 平台中提供数据访问服务。它作用在服务器端通过执行SQL命令对数据库进行访问和更新。ADO.net主要包括Connection,Dataset和Command三个对象, 它们的主要功能如下:

  Connection对象:连接数据库;
  Dataset对象:存取数据库的内容;
  Command对象:对数据库执行查询指令,以及执行非查询(更新、删除和添加等)命令。

  网页设计

  下面将以驾校管理系统软件中的“学员资料查询与修改”为例说明有关网页设计问题。(c#)

  首先,在SQL server 2000中建一个名为”jx”的数据库,包含表”车型”、”学员资料” 和视图”V学员资料”。

  其次,”学员资料查询与修改”主要由三个页面组成,为:xy_search.aspx、xy_search_win.aspx 、 xy_search_detail.aspx,分别用于输入查询条件、显示查询结果、显示其中一条记录的详细资料并根据需要进行修改。

  1、xy_search.aspx

  在该页面中根据用户的查询条件设计页面,方法:用鼠标左键选中工具箱web窗体中的控件,拖拽到页面,放置到合适的位置,然后设置该控件的属性,其它的控件类似。如图1所示。

图1

  页面设计好要进行后台代码的编写,在xy_search.aspx.cs中进行:

using System.Data.SqlClient;
using System.Data.SqlTypes;// 添加命名空间

public string name1
{
 get
 {
  return
  TextBox9.Text.Trim();
 }
}

//定义TextBox9中的内容为公用变量,设置文本框的Visible属性为False

private void Page_Load(object sender, System.EventArgs e)
{
 Page.RegisterStartupScript("focus", "<script language= javascript> document.getElementById('TextBox1').focus();</script>");//插入java脚本(聚焦TextBox1)

 if(!IsPostBack)// 检查是否是第一次加载本页
 {
  SqlConnection myConnection=new  SqlConnection("server=JXSERVER;uid=sa;pwd=1818;database=jx");

  myConnection.Open();//连接数据库
  SqlDataAdapter myAdapter=new SqlDataAdapter("select * from 车型",myConnection);// 建立myAdapter对象
  DataSet myDataSet=new DataSet(); //建立一个myDataSet对象 
  myAdapter.Fill(myDataSet,"车型");//把执行select语句得到的记录添加到myDataSet中   DropDownList1.DataSource=myDataSet.Tables["车型"].DefaultView;
  //指定DropDownList1数据源
  DropDownList1.DataTextField="车型";
  //指定DropDownList1的文本值为“车型”表中‘车型’字段
  DropDownList1.DataValueField="车型ID";

  //指定DropDownList1的Value值为“车型”表中‘车型ID’字段 

  DropDownList1.DataBind();//绑定数据
  DropDownList1.SelectedValue="C1";//指定DropDownList1的默认Value值为C1
  myConnection.Close();//关闭数据库连接
 }
}// 在此处放置用户代码以初始化页面

/*由于在实现删改功能的同时可以实现查询功能因此仅以删改功能为例*/

private void Button2_Click(object sender, System.EventArgs e)
{
 TextBox9.Text = "where 姓名 like '" + TextBox1.Text.Trim() + "'";
 //定义姓名模糊查询条件语句

 Server.Transfer("xy_search_win.aspx");

 //传送姓名查询条件语句到第二个页面
}

private void Button4_Click(object sender, System.EventArgs e)
{
 TextBox9.Text = "where 证件号码= '" + TextBox2.Text.Trim() + "'";
 //证件号码= TextBox2.Text的值
 Server.Transfer("xy_search_win.aspx");
}

private void Button6_Click(object sender, System.EventArgs e)
{
 extBox9.Text = "where 学号= '" + TextBox3.Text.Trim() + "'";
 //学号= TextBox3.Text的值
 Server.Transfer("xy_search_win.aspx");
}
private void Button8_Click(object sender, System.EventArgs e)
{
 TextBox9.Text = "where 学号 like '"+TextBox4.Text.Trim()+"%'";
 //学号与TextBox4.Text的值模糊匹配
 Server.Transfer("xy_search_win.aspx");
}

private void Button10_Click(object sender, System.EventArgs e)
{
 TextBox9.Text = "where 报名日期 between '"+ TextBox5.Text.Trim() + "' and '" + TextBox6.Text.Trim() + "'";
 //TextBox5.Text>=报名日期<=TextBox6.Text
 Server.Transfer("xy_search_win.aspx");
}

private void Button12_Click(object sender, System.EventArgs e)
{
 TextBox9.Text = "where 报考车种 = '"+DropDownList1.SelectedValue.ToString().Trim()+"'";
 //报考车种=DropDownList1选中项的value值
 Server.Transfer("xy_search_win.aspx");
}

private void Button14_Click(object sender, System.EventArgs e)
{
 TextBox9.Text = "where 欠款金额 between "+Convert.ToDecimal(TextBox7.Text.Trim())+" and "+Convert.ToDecimal(TextBox8.Text.Trim())+" ";

 //注意要将字符串类型转换成货币类型decimal

 Server.Transfer("xy_search_win.aspx");
}
  2、xy_search_win.aspx

  在该页面中显示查询结果,如图2所示,此外还可以选中任一条记录进行删除和编辑操作。注意:在DataGrid1的”属性生成器”中添加‘删除’和‘选择’列,并将选择列的文本设成‘编辑’。

图2

  xy_search_win.aspx.cs代码如下:

using System.Data.SqlClient;//添加命名空间

public class xy_search_win : System.Web.UI.Page
{
 public xy_search sourcepage;

 //定义第一个页面为当前页面的源页面

 public string name1
 {
  get
  {
   return DataGrid1.Items[DataGrid1.SelectedIndex].Cells[2].Text.ToString();
  }
 }//定义所选行的‘学号’为公共变量

 private void search1()//定义一个查询子程序
 {
  SqlConnection myConnection= new SqlConnection ("server=JXSERVER;uid=sa;pwd=1818;database=jx");

  myConnection.Open();//连接数据库jx
  SqlDataAdapter adapter1= new SqlDataAdapter ("select 学号,姓名,报考车种,联系方式,证件号码,培训方式,欠款金额,备注 from V学员资料 "+ TextBox1.Text + " order by 学号", myConnection); //查询视图

  DataSet myDataSet=new DataSet(); Adapter1.Fill(myDataSet,"result1");     
  DataGrid1.DataSource=myDataSet.Tables["result1"];
  DataGrid1.DataKeyField="学号";//指定关键字段为学号
  DataGrid1.DataBind();//绑定数据
  myConnection.Close();
 }

 private void Page_Load(object sender, System.EventArgs e)
 {
  if(!IsPostBack)
  {
   sourcepage=(xy_search)Context.Handler;
   // 使用Context.Handler属性来获得前一个页面实例对象的引用
   TextBox1.Text=sourcepage.name1;//将第一个页面传过来的查询语句赋给TextBox1
   search1();//调用查询子程序显示查询结果
  }
 }

 private void DataGrid1_DeleteCommand(object source,System.Web.UI.WebControls.DataGridCommandEventArgs e)//”删除”按钮操作代码
 {
  SqlConnection myConnection =new SqlConnection("server=JXSERVER;uid=sa;pwd=1818;database=jx");

  myConnection.Open();
  string mydelete="delete from 学员资料 where 学号='"+DataGrid1.DataKeys[(int)e.Item.ItemIndex]+"'";//删除“学员资料”表中‘学号’等于所选行对应的学号

  SqlCommand myCommand=new SqlCommand(mydelete, myConnection);//创建myCommand对象
  myCommand.ExecuteNonQuery();//执行sql语句
  myConnection.Close();
  search1();//重新调用子程序刷新页面;
 }
 private void
 DataGrid1_SelectedIndexChanged(object sender, System.EventArgs e)
 //”编辑”按钮命令
 {
  Server.Transfer("xy_search_detail.aspx");
 }

 //转到第三个页面进行详细编辑
}
  3、xy_search_detail.aspx

  在该页面中可以对学员资料中带*号的项进行编辑,其它项的文本框的属性’ReadOnly’设置成true,不可以进行修改,如图3所示

图3

using System.Data.SqlClient;

public class xy_search_detail : System.Web.UI.Page
{
 public xy_search_win sourcepage;//设置第二个页面为当前页面的源页面
 private void myselect1()//定义查询子程序
 {
  SqlConnection myConnection =new SqlConnection("server=JXSERVER;uid=sa;pwd=1818;database=jx");

  myConnection.Open();
  string myselect1="select 学号,姓名,性别,报考车种,证件号码,手机,小灵通,住宅电话,办公电话,备注 from 学员资料 where 学号='"+TextBox10.Text+"'";//查询视图,TextBox10.Text为第二个页面传递过来的学号

  SqlCommand myCommand1=new SqlCommand(myselect1, myConnection);
  SqlDataReader myReader1 =myCommand1.ExecuteReader();//执行读操作
  while(myReader1.Read())//该条记录不为空时执行{…}里的程序
  {
   TextBox1.Text=myReader1.GetString(0);//学号赋值给TextBox1
   TextBox2.Text=myReader1.GetString(1);//姓名
   TextBox3.Text=myReader1.GetString(2);//性别
   TextBox4.Text=myReader1.GetString(3);//报考车种
   TextBox5.Text=myReader1.GetString(4);//证件号码
   if(myReader1.IsDBNull(5)==false)
   {
    TextBox9.Text=myReader1.GetString(5);
    //手机
   }
   //判断该记录的手机这一列数据是否为空
   else {TextBox9.Text=""; }
   if(myReader1.IsDBNull(6)==false)
   {TextBox11.Text=myReader1.GetString(6);//小灵通 }
   else {TextBox11.Text="";}
   if(myReader1.IsDBNull(7)==false)
   {TextBox12.Text=myReader1.GetString(7);//住宅电话}
   else {TextBox12.Text="";}
   if(myReader1.IsDBNull(8)==false)
   {TextBox13.Text=myReader1.GetString(8);//办公电话
  }
  else {TextBox13.Text="";}
  if(myReader1.IsDBNull(9)==false)
  {TextBox7.Text=myReader1.GetString(9);}//备注
  else {TextBox7.Text=""; }
 }
 myReader1.Close();
 myConnection.Close();
}

private void Page_Load(object sender, System.EventArgs e)
{
 if(!IsPostBack)
 {
  sourcepage=(xy_search_win)Context.Handler;
  TextBox10.Text=sourcepage.name1;//将第二个页面的‘学号’值传到第三个页面
  Label3.Text="";//提示标签置空
  myselect1();//调用查询资料子程序
 }
}

private void Button1_Click(object sender, System.EventArgs e) //“修改“按钮命令
{
 SqlConnection myConnection=new SqlConnection("server=JXSERVER;uid=sa;pwd=1818;database=jx");

 myConnection.Open();
 string lxfs=TextBox9.Text.Trim()+"+"+TextBox11.Text.Trim()+"+"+_
TextBox12.Text.Trim()+"+"+TextBox13.Text.Trim()+"+"; //定义联系方式

 string myupdate= "update 学员资料 set _
手机='"+TextBox9.Text.Trim()+"',小灵通='"+TextBox11.Text.Trim()+"',_
住宅电话='"+TextBox12.Text.Trim()+"',办公电话='"+TextBox13.Text.Trim()+"',_
备注='"+TextBox7.Text+"',联系方式='"+lxfs+"' where 学号="+TextBox10.Text.Trim()+"";

 SqlCommand myCommand2 = new SqlCommand(myupdate,myConnection);
 MyCommand2.ExecuteNonQuery();//
 Label3.Text="修改成功,请继续!";
 myConnection.Close();
}

private void Button2_Click(object sender, System.EventArgs e)//“重置”按钮命令
{
 Label3.Text="";//提示标签置空
 myselect1();//调用查询资料子程序
}

}

  结束语

  本文简单介绍利用了如何利用VisualStudio.NET2003开发ASP.NETWeb应用程序。开发出来的该系统具有的查询快捷、存储量大、可靠性高等特点,有效地提高了驾校管理系统的效率。

时间: 2024-09-18 23:46:57

基于ASP.NET技术的驾校网页设计的相关文章

国内首款基于asp.net技术开发的服务器管理软件

数据王服务器系列软件是国内首款基于asp.net技术开发的服务器管理软件.本系列软件是由沈阳泷泉信息技术有限公司独立自助开发完成,我司是一家以asp.net为主的技术型公司,我们的团队不仅汇集了国内顶尖的.net程序员和专业级的美工 更有着雄厚的资金及技术实力,立志做中国最优秀的服务器软件供应商. 目前本系列软件已正式发布两款,数据王域名虚拟主机管理系统,数据王IIS还原备份专家! 数据王域名虚拟主机管理系统 全球首创三个第一 第一个让虚拟主机用户支持防盗链 可自定义需要防盗的文件扩展名及被盗时

ASP技术在交互式网页设计中的运用

交互|设计|网页|网页设计 一.ASP技术简介 ASP技术 ASP(Active Server Pages动态网页)是微软公司推出的一种用以取代CGI(Common Gateway Interface通用网关接口)的技术.目前,Internet上的许多基于Windows平台的Web站点已开始应用ASP来替换CGI. 简单地讲,ASP是一个位于服务器端的脚本运行环境,通过这种环境,用户可以创建和运行动态的交互式Web服务器应用程序,如交互式动态网页,包括使用HTML表单收集和处理信息,上传与下载等

ASP.Net2.0 WebPart趣味网页设计

asp.net|web|设计|网页|网页设计 今天看了看ASP,Net2.0 的WebPart控件的使用方法,实际上昨天就看了一点只是没明白怎么回事,我今天把WebCasts上的讲座看了一遍,才明白点.WebPart就是实现通过客户端用户对控件的拖拽把网页设置成自己想要的样子,就向博客那样可以自己做自己的主页.用webpart控件实现这个功能是非常容易的,但是前提条件是有数据库支持,因为控件位置改变后需要记录在数据库中,虽然Microsoft说可以通过aspnet_ressql.exe对sql

网站建设技术:简化网页设计 提高用户体验

在设计领域中,很多人都认同应该简化设计,以便让相应的工作更好发挥作用,设计只是增强视觉的手段. 随着网站建设技术的发展,在网页中实现复杂的功能不再是难事,网页中功能越来愈多,因此要在用户的浏览体验和网页设计的美观性中取得一个平衡点就显得非常重要. 网页设计的简化法 不同人对网页设计简化法会有不同的定义.一个简单的定义是将复杂的东西浓缩简化成简单的东西,当然在简化的同时,不能丢掉有价值的东西.总而言之,如果你的网页设计很臃肿庞大,最好去精简它. 在具体的网页设计中,可能是将网站分成几个部分,并使它

基于ASP的收发文管理系统的设计与实现

摘要 网络办公已是现代企业发展的大势所趋.本文主要阐述了基于B/S结构的收发文管理系统的功能模块以及如何使用ASP和SQL Server解决一些相关的技术,其中包括系统的安全性问题. 引言 传统的手工办公方式已经无法满足现代办公的需求,收发文管理系统作为提高工作效率.规范办公制度,增强办公的透明性,实现信息.文档资源的统一管理,方便领导决策,逐步实现无纸化办公的重要工具,越来越受到人们的重视. 我们选择B/S三层结构,后台数据库采用SQL Server,WEB服务器运行微软的IIS,以ASP(A

硅谷杂志:基于ASP.NET技术企业信息门户网站开发

[硅谷网11月5日文]据<硅谷>杂志2012年第16期刊文称,本企业信息门户网站系统基于B/S架构,应用MicrosoftVisualStudio.NET2008作为开发工具,使用MicrosoftSQLServer2005为后台数据库.该系统使企业能够通过网络与客户和公司内部员工进行更好地交流,方便企业进行网络信息化管理. 0引言 建设企业信息门户网站, 树立企业的网络形象,成为企业适应 信息化时代发展的最佳方式.企业门户网站的建设,使企业能够通过网络与客户更好地交流,拉近企业和客户的距离,

30个使用WEBGL技术的优秀网页设计案例

  通过 WebGL 技术可以实现一些超酷的2D/3D 图形,WebGL 和 Flash 不同,它不需要安装插件就能在主流浏览器运行,因为多了3D效果,设计师又多了一种可创作的灵感,通过此技术实现极酷的三维视角,或配合JS来制作一些酷炫的动画或小游戏,提升访客与网站互动体验,震撼力Max! 配合好网速观看体验更佳 :) STANDFOR Creative Edge Parties Save The Rainforest LA HAUTE SOCIETE Volkswagen Touran Peu

那些给人逼真交互体验的优秀网页设计

  新的技术不断推动网页设计 师和设计机构尝试新的想法,巧妙的思路和天马行空的想象在网页中逐步被实现,那些令人难以置信的概念被化作现实,这也算是设计师的梦想照进现实吧?这些交互复杂效果拟真的网页设计 作品,就是在这样的语境下诞生的. 完美的场景营造和新奇高端的设计和开发技巧是有着依存共生关系的.当我们谈及实现方法的时候,可选的设计技巧有很多,从静态的图片构建的全息影像,到细腻的3D建模,设计师可以自由地选取不同的技巧来加入动态元素,构建足够专业的场景,用丰富有趣的细节来实现令人经验的用户体验.

一起谈.NET技术,领域驱动设计案例:Tiny Library:简介

应广大网友的要求,我最近抽空基于ASP.NET MVC + WCF + Entity Framework做了一个案例,该案例以图书馆图书管理.读者借书.还书为业务背景,以领域驱动设计为思想指导,全程采用Microsoft技术进行实践,希望能够给Microsoft技术的狂热者以及领域驱动设计的学者提供实践参考. 本案例选用的业务逻辑非常简单,所以项目取名上我选用了"Tiny Library",在后面一章我将详细介绍这个案例的业务逻辑.模型设计与系统架构. 下载案例 本来打算将项目发布到c