首页  :: 订阅 订阅  :: 管理

用ASP.Net的三个阶段

Posted on 2005-04-21 13:13  GaoJie[高杰]  阅读(202)  评论(0)    收藏  举报
============================== 
单个 ASP.NET 页 
============================== 
<%@ Import Namespace="System.Data" %>  
<%@ Import Namespace="System.Data.SqlClient" %>  
<html>  
   
<head>  
      
<title>start</title>  
      
<script language="c#" runat="server">  
         
void Page_Load(object sender, System.EventArgs e)  
         
{  
            String selectCmd 
= "select * from Recording";  
            SqlConnection myConnection 
=   
               
new SqlConnection(  
                  
"server=(local);database=recordings;Trusted_Connection=yes");  
            SqlDataAdapter myCommand 
= new SqlDataAdapter(selectCmd,   
               myConnection);  
            DataSet ds 
= new DataSet();  
            myCommand.Fill(ds, 
"Recording");  
            recordingSelect.DataSource 
= ds;  
            recordingSelect.DataTextField 
= "title";  
            recordingSelect.DataValueField 
= "id";  
            recordingSelect.DataBind();  
         }
  
         
void SubmitBtn_Click(Object sender, EventArgs e)   
         
{     
            String selectCmd 
=   
               String.Format(  
               
"select * from Track where recordingId = {0} order by id",  
               (
string)recordingSelect.SelectedItem.Value);  
            SqlConnection myConnection 
=   
               
new SqlConnection(  
                  
"server=(local);database=recordings;Trusted_Connection=yes");  
            SqlDataAdapter myCommand 
= new SqlDataAdapter(selectCmd,  
               myConnection);  
            DataSet ds 
= new DataSet();  
            myCommand.Fill(ds, 
"Track");  
            MyDataGrid.DataSource 
= ds;  
            MyDataGrid.DataBind();  
         }
  
      
</script>  
   
</head>  
   
<body>  
      
<form id="start" method="post" runat="server">  
         
<h3>录音</h3>  
         选择录音:
<br />  
         
<asp:dropdownlist id="recordingSelect" runat="server" />  
         
<asp:button runat="server" text="提交" OnClick="SubmitBtn_Click" />  
         
<p/>  
         
<asp:datagrid id="MyDataGrid" runat="server" width="700"   
               backcolor
="#ccccff" bordercolor="black" showfooter="false"   
               cellpadding
="3" cellspacing="0" font-name="Verdana"   
               font
-size="8pt" headerstyle-backcolor="#aaaadd"   
               enableviewstate
="false" />  
      
</form>  
   
</body>  
</html>  
 
==================================== 
代码隐藏重构 
==================================== 
<%@ Page language="c#" Codebehind="Solution.aspx.cs"   
   AutoEventWireup
="false" Inherits="Solution" %>  
<html>  
   
<head>  
      
<title>解决方案</title>  
   
</head>  
   
<body>  
      
<form id="Solution" method="post" runat="server">  
         
<h3>录音</h3>  
         选择录音:
<br/>  
         
<asp:dropdownlist id="recordingSelect" runat="server" />  
         
<asp:button id="submit" runat="server" text="Submit"   
            enableviewstate
="False" />  
         
<p/>  
         
<asp:datagrid id="MyDataGrid" runat="server" width="700"  
               backcolor
="#ccccff" bordercolor="black" showfooter="false"  
               cellpadding
="3" cellspacing="0" font-name="Verdana" font-size="8pt"  
               headerstyle
-backcolor="#aaaadd" enableviewstate="false" />  
      
</form>  
   
</body>  
</html>  
 
<%@ Page language="c#" Codebehind="Solution.aspx.cs"   
 AutoEventWireup
="false" Inherits="Solution" %>  
 
using System;  
using System.Data;  
using System.Data.SqlClient;  
public class Solution : System.Web.UI.Page  
{  
   
protected System.Web.UI.WebControls.Button submit;  
   
protected System.Web.UI.WebControls.DataGrid MyDataGrid;  
   
protected System.Web.UI.WebControls.DropDownList recordingSelect;  
   
private void Page_Load(object sender, System.EventArgs e)  
   
{  
      
if(!IsPostBack)  
      
{  
         String selectCmd 
= "select * from Recording";  
         SqlConnection myConnection 
=   
            
new SqlConnection(  
               
"server=(local);database=recordings;Trusted_Connection=yes");  
         SqlDataAdapter myCommand 
= new SqlDataAdapter(selectCmd, myConnection);  
         DataSet ds 
= new DataSet();  
         myCommand.Fill(ds, 
"Recording");  
         recordingSelect.DataSource 
= ds;  
         recordingSelect.DataTextField 
= "title";  
         recordingSelect.DataValueField 
= "id";  
         recordingSelect.DataBind();  
      }
  
   }
  
   
void SubmitBtn_Click(Object sender, EventArgs e)   
   
{     
      String selectCmd 
=   
         String.Format(  
         
"select * from Track where recordingId = {0} order by id",  
         (
string)recordingSelect.SelectedItem.Value);  
      SqlConnection myConnection 
=   
         
new SqlConnection(  
            
"server=(local);database=recordings;Trusted_Connection=yes");  
      SqlDataAdapter myCommand 
= new SqlDataAdapter(selectCmd, myConnection);  
      DataSet ds 
= new DataSet();  
      myCommand.Fill(ds, 
"Track");  
      MyDataGrid.DataSource 
= ds;  
      MyDataGrid.DataBind();  
   }
  
   Web Form Designer generated code
#region Web Form Designer generated code  
   
override protected void OnInit(EventArgs e)  
   
{  
      
//  
      
// CODEGEN: 此调用是 ASP.NET Web 窗体设计器所必需的。  
      
//  
      InitializeComponent();  
      
base.OnInit(e);  
   }
  
   
/**//// <summary>  
   
/// 设计器支持所必需的方法 - 不要使用代码编辑器修改  
   
/// 此方法的内容。  
   
/// </summary>  

   private void InitializeComponent()  
   
{      
      
this.submit.Click += new System.EventHandler(this.SubmitBtn_Click);  
      
this.Load += new System.EventHandler(this.Page_Load);  
   }
  
   
#endregion
  
}
  
 
=============================== 
Model
-View-Controller 重构 
=============================== 
using System;  
using System.Collections;  
using System.Data;  
using System.Data.SqlClient;  
public class DatabaseGateway  
{  
   
public static DataSet GetRecordings()  
   
{  
      String selectCmd 
= "select * from Recording";  
      SqlConnection myConnection 
=   
         
new SqlConnection(  
            
"server=(local);database=recordings;Trusted_Connection=yes");  
      SqlDataAdapter myCommand 
= new SqlDataAdapter(selectCmd, myConnection);  
      DataSet ds 
= new DataSet();  
      myCommand.Fill(ds, 
"Recording");  
      
return ds;  
   }
  
   
public static DataSet GetTracks(string recordingId)  
   
{  
      String selectCmd 
=   
         String.Format(  
         
"select * from Track where recordingId = {0} order by id",  
         recordingId);  
      SqlConnection myConnection 
=   
         
new SqlConnection(  
            
"server=(local);database=recordings;Trusted_Connection=yes");  
      SqlDataAdapter myCommand 
= new SqlDataAdapter(selectCmd, myConnection);  
      DataSet ds 
= new DataSet();  
      myCommand.Fill(ds, 
"Track");  
      
return ds;  
   }
  
 
using System;  
using System.Data;  
using System.Collections;  
using System.Web.UI.WebControls;  
public class Solution : System.Web.UI.Page  
{  
   
protected System.Web.UI.WebControls.Button submit;  
   
protected System.Web.UI.WebControls.DataGrid MyDataGrid;  
   
protected System.Web.UI.WebControls.DropDownList recordingSelect;  
   
private void Page_Load(object sender, System.EventArgs e)  
   
{  
      
if(!IsPostBack)  
      
{  
         DataSet ds 
= DatabaseGateway.GetRecordings();  
         recordingSelect.DataSource 
= ds;  
         recordingSelect.DataTextField 
= "title";  
         recordingSelect.DataValueField 
= "id";  
         recordingSelect.DataBind();  
      }
  
   }
  
   
void SubmitBtn_Click(Object sender, EventArgs e)   
   
{     
      DataSet ds 
=   
         DatabaseGateway.GetTracks(  
         (
string)recordingSelect.SelectedItem.Value);  
      MyDataGrid.DataSource 
= ds;  
      MyDataGrid.DataBind();  
   }
  
   Web Form Designer generated code
#region Web Form Designer generated code  
   
override protected void OnInit(EventArgs e)  
   
{  
      
//  
      
// CODEGEN: 此调用是 ASP.NET Web 窗体设计器所必需的。  
      
//  
      InitializeComponent();  
      
base.OnInit(e);  
   }
  
   
/**//// <summary>  
   
/// 设计器支持所必需的方法 - 不要使用代码编辑器修改  
   
/// 此方法的内容。  
   
/// </summary>  

   private void InitializeComponent()  
   
{      
      
this.submit.Click += new System.EventHandler(this.SubmitBtn_Click);  
      
this.Load += new System.EventHandler(this.Page_Load);  
   }
  
   
#endregion
  
}