武冈人网站首页源代码--主页代码

建议先查看源代码PDF文件: Default.aspx页面    Default.aspx.cs文件    
 
         1、左边的聚会活动图片,因不会做Flash,就用JS代码写了一个可以轮换的东东。
      这是在网上获取的JS代码,自己稍改了一下。具体代码请参考PDF文件。
      
      2、中间的三个栏目随鼠标移动显现,也是用了一个JS方法,这个就没有抄了,是自己写的,当然也是参考了网上JS代码的。
      document.getElementById("NewD1").style.visibility = "visible";
      对于其中getElementByID("NewD1")的用法,偶不是很明白,只是知道这样才能够获得其属性来进行赋值。之前想直接用document.form1.NewD1这种方法,用在DIV上面,显然是概念错误。
      
      3、之于每个栏目显示最新的10笔数据,是在后台CS文件中从数据库获取了。在页面加载的时候就已经上去了,而不是当鼠标移过时才去从数据库获取数据。至于获取数据的方法,我是写在各自的数据表类中。容后再仔细解释。这里仅列出获出最新10条信息的方法:
      /// <summary>
       /// 获取最新的10条信息
       /// </summary>
       /// <returns>返回一个HTML表格代码</returns>
       public string GetNewInfo()
       {
       StringBuilder NewInfo = new StringBuilder();
       NewInfo.Append("<table height=250>");
      
       string strSQL = "Select top 10 info_id,sort_id,sort_name,info_title,info_date,info_photo From query_info order by info_id desc";
       OleDbDataReader dr = GetOleDbDataReader(strSQL,"wgrenConn");
      
       while(dr.Read())
       {
       // 信息类别
       NewInfo.Append("<tr><td width=10px>&nbsp;</td><td>");
       NewInfo.Append("[ " + "<a href=Sod/Info.aspx?SortID=" + dr["sort_id"].ToString() + ">");
       NewInfo.Append(dr["sort_name"].ToString() + "</a> ]&nbsp;&nbsp;");
      
       // 标示该信息是否有图片
       if(dr["info_photo"].ToString() != string.Empty)
       {
       NewInfo.Append("<img src=images/jpg.gif> ");
       }
      
       NewInfo.Append("<a href=Sod/Put.aspx?InfoID=" + dr["info_id"].ToString() + ">");
       NewInfo.Append(dr["info_title"].ToString().Length > 18 ?dr["info_title"].ToString().Substring(0,18) + "... ":dr["info_title"].ToString() + " &nbsp;&nbsp;");
       NewInfo.Append(((DateTime)dr["info_date"]).ToShortDateString());
       NewInfo.Append("</a>");
      
       NewInfo.Append("</td></tr>");
       }
       dr.Close();
       NewInfo.Append("</table>");
      
       return NewInfo.ToString();
       }
      
      4、最右边的是显示最新的两个有上传图片的会员相片。具体的方法我也是写在会员表的类中了。会员相片我保存到文件中,而且在数据表中未作任何标示,判断该会员是否有相片,完全是以文件名与会员名称来作判断的。这并不合理,是开始做数据表时的错误。看看下面的这个方法,真的是让人头痛,又无可奈何。
      /// <summary>
       /// 在首页上显示最近两个有相片的会员
       /// </summary>
       /// <param name="parent"></param>
       /// <returns></returns>
       public string GetUserLeft(System.Web.UI.Page parent)
       {
       StringBuilder UserLeft = new StringBuilder();
      
       string strSQL = "Select u_name,u_true_name From wg_user order by u_id desc";
       OleDbDataReader dr = GetOleDbDataReader(strSQL,"wgrenConn");
      
       int intI = 0;
       string strUser = string.Empty;
      
       UserLeft.Append("<table border=0 cellpadding=0 cellspacing=0>");
      
       while(dr.Read())
       {
       strUser = dr["u_name"].ToString();
      
       // 检查该会员是否有相片,若有则用显示,并使intI的值递增1
       if(System.IO.File.Exists(parent.Server.MapPath("images/wgr/" + strUser + ".gif")))
       {
       UserLeft.Append("<tr><td align=center>");
       UserLeft.Append("<a href=Townee/Info.aspx?User=" + strUser + ">");
       UserLeft.Append("<img border=0 width=140 alt='" + dr["u_true_name"].ToString() + "' src=images/wgr/" + strUser + ".gif>");
       UserLeft.Append("</a></td></tr>");
       intI ++;
       }
      
       // 当显示了两个有相片的会员后,退出循环
       if(intI == 2)
       {
       break;
       }
      
       }
       dr.Close();
      
       UserLeft.Append("</table>");
      
       return UserLeft.ToString();
       }
      
      5、页面中间是一个搜索老乡的界面,以现居地和所属乡镇搜寻。点击搜索后,会传现居地的代码和乡镇代码给同乡录的相关页面。具体请参考后台PDF文件。
      其中现居地因分省级区域和市级区域,在对省级区域进行选择时,页面会回送,并将相对应的市级区域绑定在市级控件中。
      针对三个区域的DropDownList控件,我专门写了一个WgArea的类。因为这些绑定控件的方法会在后续的页面中重复使用。具体请参考WgArea.PDF文件。
      WgArea.PDF文件下载地址:
      http://www.4305.cn/images/pdf/wgarea.pdf
posted on 2006-08-19 09:36  yell  阅读(1731)  评论(3编辑  收藏  举报