ASP.NET高级教程(2.1):转换编程思维
点击次数:24 次 发布日期:2008-11-27 00:07:29 作者:源代码网
|
源代码网推荐 源代码网推荐 源代码网推荐 上次的内容说过asp.net和asp的最大区别在于编程思维的转换,那么我们现在就来看看如何转换编程思想。以前的web编程从cgi(perl)到asp,php,jsp的编程过程都是这样:美工人员给出页面原型,编程人员照页面填空,最后堆起来算完,下次如果原型变动,那么就再修改程序,这样业务逻辑和html页面混在一起,可以说是事倍功半。那么,现在有了asp.net,我们应该怎么做呢? 源代码网推荐 源代码网推荐 源代码网推荐 让我们找个实际的例子,就拿论坛来说吧,先从顶至下看看它的业务逻辑。我们可以把一个论坛视做一个对象,它有自己的属性和方法,常见的属性有名称、贴子数、用户数、版面数等等,这样的话,我们就可以这样来构造论坛对象: 源代码网推荐 源代码网推荐 源代码网推荐 namespace MyOwnClass 源代码网推荐 源代码网推荐 { 源代码网推荐 源代码网推荐 using System; 源代码网推荐 源代码网推荐 using System.Data.SQL ; 源代码网推荐 源代码网推荐 using System.Data ; 源代码网推荐 源代码网推荐 源代码网推荐 //////////////////////////////////////////////////////////////////// 源代码网推荐 源代码网推荐 // 源代码网推荐 源代码网推荐 // Class Name : BBS 源代码网推荐 源代码网推荐 // 源代码网推荐 源代码网推荐 // Description: 论坛类,构造一个论坛对象 源代码网推荐 源代码网推荐 // 源代码网推荐 源代码网推荐 // date: 2000/02/03 源代码网推荐 源代码网推荐 // 源代码网推荐 源代码网推荐 /// //////////////////////////////////////////////////////////////// 源代码网推荐 源代码网推荐 public class BBS 源代码网推荐 源代码网推荐 { 源代码网推荐 源代码网推荐 //私有变量 源代码网推荐 源代码网推荐 private string m_strTitle ; //bbs名称 源代码网推荐 源代码网推荐 private int m_intForumCount ; //版面数 源代码网推荐 源代码网推荐 private int m_intTopicCount ; //贴子数 源代码网推荐 源代码网推荐 private int m_intUserCount ; //注册用户数 源代码网推荐 源代码网推荐 源代码网推荐 //属性 源代码网推荐 源代码网推荐 public string Title 源代码网推荐 源代码网推荐 { 源代码网推荐 源代码网推荐 get 源代码网推荐 源代码网推荐 { 源代码网推荐 源代码网推荐 return m_strTitle ; 源代码网推荐 源代码网推荐 } 源代码网推荐 源代码网推荐 } 源代码网推荐 源代码网推荐 源代码网推荐 public int ForumCount 源代码网推荐 源代码网推荐 { 源代码网推荐 源代码网推荐 get 源代码网推荐 源代码网推荐 { 源代码网推荐 源代码网推荐 return m_intForumCount ; 源代码网推荐 源代码网推荐 } 源代码网推荐 源代码网推荐 } 源代码网推荐 源代码网推荐 源代码网推荐 public int TopicCount 源代码网推荐 源代码网推荐 { 源代码网推荐 源代码网推荐 get 源代码网推荐 源代码网推荐 { 源代码网推荐 源代码网推荐 return m_intTopicCount ; 源代码网推荐 源代码网推荐 } 源代码网推荐 源代码网推荐 } 源代码网推荐 源代码网推荐 源代码网推荐 public int UserCount 源代码网推荐 源代码网推荐 { 源代码网推荐 源代码网推荐 get 源代码网推荐 源代码网推荐 { 源代码网推荐 源代码网推荐 return m_intUserCount ; 源代码网推荐 源代码网推荐 } 源代码网推荐 源代码网推荐 } 源代码网推荐 源代码网推荐 源代码网推荐 //构造函数 源代码网推荐 源代码网推荐 public BBS(string a_strTitle) 源代码网推荐 源代码网推荐 { 源代码网推荐 源代码网推荐 // 源代码网推荐 源代码网推荐 // TODO: Add Constructor Logic here 源代码网推荐 源代码网推荐 // 源代码网推荐 源代码网推荐 m_strTitle = a_strTitle ; 源代码网推荐 源代码网推荐 源代码网推荐 //读取数据库 源代码网推荐 源代码网推荐 MyConnection myConn = new MyConnection() ; 源代码网推荐 源代码网推荐 SQLCommand myCommand = new SQLCommand() ; 源代码网推荐 源代码网推荐 myCommand.ActiveConnection = myConn ; 源代码网推荐 源代码网推荐 myCommand.CommandText = "up_GetBBSInfo" ; //调用存储过程 源代码网推荐 源代码网推荐 myCommand.CommandType = CommandType.StoredProcedure ; 源代码网推荐 源代码网推荐 源代码网推荐 try 源代码网推荐 源代码网推荐 { 源代码网推荐 源代码网推荐 myConn.Open() ; 源代码网推荐 源代码网推荐 SQLDataReader myReader ; 源代码网推荐 源代码网推荐 myCommand.Execute(out myReader) ; 源代码网推荐 源代码网推荐 if (myReader.Read()) 源代码网推荐 源代码网推荐 { 源代码网推荐 源代码网推荐 m_intForumCount = (int)myReader["ForumCount"] ; 源代码网推荐 源代码网推荐 m_intTopicCount = (int)myReader["TopicCount"] ; 源代码网推荐 源代码网推荐 m_intUserCount = (int)myReader["UserCount"] ; 源代码网推荐 源代码网推荐 } 源代码网推荐 源代码网推荐 else 源代码网推荐 源代码网推荐 { 源代码网推荐 源代码网推荐 throw(new Exception("表或存储过程不存在")) ; 源代码网推荐 源代码网推荐 } 源代码网推荐 源代码网推荐 源代码网推荐 //清场 源代码网推荐 源代码网推荐 myReader.Close(); 源代码网推荐 源代码网推荐 myConn.Close() ; 源代码网推荐 源代码网推荐 } 源代码网推荐 源代码网推荐 catch(SQLException e) 源代码网推荐 源代码网推荐 { 源代码网推荐 源代码网推荐 throw(new Exception("数据库出错:" + e.Message)) ; 源代码网推荐 源代码网推荐 } 源代码网推荐 源代码网推荐 源代码网推荐 } 源代码网推荐 源代码网推荐 } 源代码网推荐 源代码网推荐 } 源代码网推荐 源代码网推荐 源代码网供稿. |
