ASP.NET动态网站制作(29)-- 正则

前言:继续讲框架,然后介绍正则的相关知识。

内容:

  1.封装分页方法,方便以后调用;响应的CSS代码也可以封装。

  2.WEB层里面的页面名称不要和model和dal里面的名称相同。

  3.两个表联合查询的方法,实现分页效果:

 1 public class StuAskDAL
 2 {
 3     public static BaseDAL<StuAsk> m_StuAskDal = new BaseDAL<StuAsk>();
 4     // 获取到用户信息表和帖子表的联合数据
 5     public static DataTable GetStuInnerAsk(int pageindex, int pagesize, string strWhere)
 6     {
 7        string strSql = string.Format(@"select top {0} *from 
 8 (select ROW_NUMBER() over (order by UserId) as rownumber,* from
 9 (
10 select UI.UserId,UI.RealName,UI.UserName,UI.Pwd,UI.Phase,UI.QQ,SA.AskId,
11 SA.Title,SA.AskCategory from UserInfor UI inner join StuAsk SA on
12 UI.UserId=SA.UserId where {2}
13 )AB
14 )B where rownumber>{0}*({1}-1) ", pagesize, pageindex, strWhere);
15         DataTable dt = SqlHelper.ExecuteDataTable(DataBaseEnum.con, strSql, CommandType.Text, null);
16         return dt;
17     }
18     // 获取到用户名和帖子表的总记录数
19     public static int GetStuInnerAskCount()
20     {
21         string strSql = @"select UI.UserId,UI.RealName,UI.UserName,UI.Pwd,UI.Phase,UI.QQ,SA.AskId,
22 SA.Title,SA.AskCategory from UserInfor UI inner join StuAsk SA on
23 UI.UserId=SA.UserId";
24         DataTable dt = SqlHelper.ExecuteDataTable(DataBaseEnum.con, strSql, CommandType.Text, null);
25         return dt.Rows.Count;
26     }
27 }

 

 1 public partial class UserInnerAsk : System.Web.UI.Page
 2 {
 3     private int PageCount = 0;
 4     private int PageSize = 10;//一页多少条数据
 5     private int _pageIndex;
 6     public int PageIndex
 7     {
 8         get
 9         {
10             try
11             {
12                 _pageIndex = Request.QueryString["page"] == null ? 1 : Convert.ToInt32(Request.QueryString["page"].ToString());
13             }
14             catch
15             {
16                 _pageIndex = 1;
17             }
18             return _pageIndex;
19         }
20         set { _pageIndex = value; }
21     }
22     public string GetWhere()
23     {
24         StringBuilder sb = new StringBuilder();
25         sb.Append("1=1");
26         if (!string.IsNullOrEmpty(txtQQ.Text.Trim()) && WebSafe.SqlInsert(txtQQ.Text.Trim()))
27         {
28             sb.Append(string.Format(" and UI.QQ={0}", txtQQ.Text.Trim()));
29         }
30         return sb.ToString();
31     }
32     protected void Page_Load(object sender, EventArgs e)
33     {
34         DataTable dt = StuAskDAL.GetStuInnerAsk(PageIndex, PageSize, GetWhere());
35         GridView1.DataSource = dt;
36         GridView1.DataBind();
37     }
38     public string GetPager()
39     {
40         string s = Pager.GetPagerHtml(PageIndex, PageSize, StuAskDAL.GetStuInnerAskCount(), "UserInnerAsk.aspx");
41         return s;
42     }
43     protected void btnSel_Click(object sender, EventArgs e)
44     {
45 
46     }
47 }

   4.和数据库交互总结:

  (1)对于一张表的话,用GetModel()获取到某一行的数据;GetCount()获取到记录数;GetList()获取到一个集合;Delete()删除;Update()更改;Add()添加。

  (2)对于多表联合查询,用SqlHelper。

  5.正则表达式:用于数据匹配。用于注册等场合,还可用于抓取数据。

  6.测试正则表达式的一个小工具:tool.chinaz.com/regex/

后记:

转载于:https://www.cnblogs.com/zoe-yan/p/4986995.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值