本文摘自PHP中文网,作者零下一度,侵删。
aspx<asp:TextBox ID="txtKeywords" runat="server" CssClass="keyword" style="width:731%;margin-left:-20em;" placeholder="输入姓名/手机号/身份证号码进行搜索" />
<asp:LinkButton ID="lbtnSearch" runat="server" CssClass="btn-search" OnClick="lbtnSearch_Click">查询</asp:LinkButton>
<%#rptList.Items.Count == 0 ? "<tr><td align=\"center\" colspan=\"14\">暂无记录</td></tr>" : ""%>
<span>显示</span><asp:TextBox ID="txtPageNum" runat="server" CssClass="pagenum" onkeydown="return checkNumber(event);"
OnTextChanged="txtPageNum_TextChanged" AutoPostBack="True"></asp:TextBox><span>条/页</span>
<div id="PageContent" runat="server" class="default"></div>
CodeBehind
命名空间
public partial class xxx : Web.UI.ManagePage
{
protected int totalCount;//总记录数
protected int page;//当前页面
protected int pageSize;//每页数据大小
protected string keywords = string.Empty;//查询条件
protected void Page_Load(object sender, EventArgs e)
{
this.keywords = Utils..GetQueryString("keywords");//获取查询条件
this.pageSize = GetPageSize(10); //设置每页数据大小
if (!Page.IsPostBack)
{
RptBind("根据keywords整合的查询语句", "排序字段 asc/desc");
}
}
private void RptBind(string _strWhere, string _orderby)
{
this.page = Utils.GetQueryInt("page", 1);
txtKeywords.Text = this.keywords;
BLL.Business bll = new BLL.Business();
this.rptList.DataSource = bll.GetList(this.pageSize, this.page, _strWhere, _orderby, out totalCount,out totalIncome);
this.rptList.DataBind();
lblTotalIncome.Text = Math.Round(totalIncome, 3).ToString();
txtPageNum.Text = this.pageSize.ToString();
string pageUrl = Utils.CombUrlTxt("xxx.aspx", "keywords={0}&page={1}", this.keywords, "__id__");
PageContent.InnerHtml = Utils.OutPageList(this.pageSize, this.page, this.totalCount, pageUrl, 8);
}
private int GetPageSize(int _default_size)
{
int _pagesize;
if (int.TryParse(Utils.GetCookie("detail_page_size", "NovelPage"), out _pagesize))
{
if (_pagesize > 0)
{
return _pagesize;
}
}
return _default_size;
}
protected void lbtnSearch_Click(object sender, EventArgs e)
{
Response.Redirect(Utils.CombUrlTxt("xxx.aspx", "keywords={0}", txtKeywords.Text));
}
protected void txtPageNum_TextChanged(object sender, EventArgs e)
{
int _pagesize;
if (int.TryParse(txtPageNum.Text.Trim(), out _pagesize))
{
if (_pagesize > 0)
{
Utils.WriteCookie("detail_page_size", "NovelPage", _pagesize.ToString(), 14400);
}
}
Response.Redirect(Utils.CombUrlTxt("xxx.aspx", "keywords={0}", this.keywords));
}
}
Utils
命名空间
public class Utils
{
public static string GetQueryString(string strName)
{
return GetQueryString(strName, false);
}
public static string GetQueryString(string strName, bool sqlSafeCheck)
{
if (HttpContext.Current.Request.QueryString[strName] == null)
return "";
if (sqlSafeCheck && !IsSafeSqlString(HttpContext.Current.Request.QueryString[strName]))
return "unsafe string";
return HttpContext.Current.Request.QueryString[strName];
}
public static bool IsSafeSqlString(string str)
{
return !Regex.IsMatch(str, @"[-|;|,|\/|\(|\)|\[|\]|\}|\{|%|@|\*|!|\']");
}
public static int GetQueryInt(string strName, int defValue)
{
return StrToInt(HttpContext.Current.Request.QueryString[strName], defValue);
}
public static int StrToInt(string expression, int defValue)
{
if (string.IsNullOrEmpty(expression) || expression.Trim().Length >= 11 || !Regex.IsMatch(expression.Trim(), @"^([-]|[0-9])[0-9]*(\.\w*)?$"))
return defValue;
int rv;
if (Int32.TryParse(expression, out rv))
return rv;
return Convert.ToInt32(StrToFloat(expression, defValue));
}
public static float StrToFloat(string expression, float defValue)
{
if ((expression == null) || (expression.Length > 10))
return defValue;
float intValue = defValue;
if (expression != null)
{
bool IsFloat = Regex.IsMatch(expression, @"^([-]|[0-9])[0-9]*(\.\w*)?$");
if (IsFloat)
float.TryParse(expression, out intValue);
}
return intValue;
}
public static string CombUrlTxt(string _url, string _keys, params string[] _values)
{
StringBuilder urlParams = new StringBuilder();
try
{
string[] keyArr = _keys.Split(new char[] { '&' });
for (int i = 0; i < keyArr.Length; i++)
{
if (!string.IsNullOrEmpty(_values[i]) && _values[i] != "0")
{
_values[i] = UrlEncode(_values[i]);
urlParams.Append(string.Format(keyArr[i], _values) + "&");
}
}
if (!string.IsNullOrEmpty(urlParams.ToString()) && _url.IndexOf("?") == -1)
urlParams.Insert(0, "?");
}
catch
{
return _url;
}
return _url + DelLastChar(urlParams.ToString(), "&");
}
public static string UrlEncode(string str)
{
if (string.IsNullOrEmpty(str))
{
return "";
}
str = str.Replace("'", "");
return HttpContext.Current.Server.UrlEncode(str);
}
//删除最后结尾的指定字符后的字符
public static string DelLastChar(string str, string strchar)
{
if (string.IsNullOrEmpty(str))
return "";
if (str.LastIndexOf(strchar) >= 0 && str.LastIndexOf(strchar) == str.Length - 1)
{
return str.Substring(0, str.LastIndexOf(strchar));
}
return str;
}
//返回分页页码
相关阅读 >>
更多相关阅读请进入《MSSQL2005》频道 >>

C#高级编程(第11版) C# 7 & .NET Core 2.0(.NET开发经典名著)
作者:[美]克里斯琴·内格尔(Christian Nagel)著。出版时间:2019年3月。