asp.net 存储过程分页字段排序
最近在asp.net 用到的sqlserver存储过程分页中显示数据时遇到关于排序问题。
网上的一些分页存储过程只支持排序列为int 类型,对于实际开发中很多时候都需要对DateTime类型,varchar类型进行排序。
下面分享一下可以支持任意数据类型的列进行排序的存储过程。
Create PROCEDURE sp_viewByPage
@TblName varchar(50), — 表名
@FldName varchar(50), — 排序列
@PageSize int, – 每页记录数
@PageIndex int, – 指定页
@strWhere varchar(1000), – 查询条件
@OrderType bit = 0 — 设置排序类型, 非 0 值则降序
AS
Begin
Declare @Sql nvarchar(1000)
if @strWhere !=” –是否where
if @OrderType =’0′
begin
Set @Sql=’SELECT SerialNumber,* from (SELECT *,ROW_NUMBER() OVER (ORDER BY ‘+@FldName +’ ASC) AS SerialNumber from ‘+@TblName +’ where ‘+@strWhere+’) AS T WHERE T.SerialNumber > ‘+str((@PageIndex-1) * @PageSize)+’ and T.SerialNumber <= ‘ + str(@PageIndex * @PageSize)
Exec sp_executesql @Sql
end
else
begin
Set @Sql=’SELECT SerialNumber,* from (SELECT *,ROW_NUMBER() OVER (ORDER BY ‘+@FldName +’ DESC) AS SerialNumber from ‘+@TblName +’ where ‘+@strWhere+’) AS T WHERE T.SerialNumber > ‘+str((@PageIndex-1) * @PageSize)+’ and T.SerialNumber <= ‘ + str(@PageIndex * @PageSize)
Exec sp_executesql @Sql
end
else
if @OrderType =’0′
begin
Set @Sql=’SELECT SerialNumber,* from (SELECT *,ROW_NUMBER() OVER (ORDER BY ‘+@FldName +’ ASC) AS SerialNumber from ‘+@TblName +’) AS T WHERE T.SerialNumber > ‘+str((@PageIndex-1) * @PageSize)+’ and T.SerialNumber <= &l
相关文档:
Web 是基于无状态的http协议,ASP.NET 为了保证控件在页面传送到服务器,再从服务器发回到页面的时保持之前的状态。
代码准备:
在aspx页面上添加一个listbox控件,和一个button服务器控件:
<
asp:ListBox runat
=
"
server
"
ID
=
"
lbViewState
"
></
asp ......
1. 打开新的窗口并传送参数:
传送参数:
response.write("<script>window.open(’*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="+...+"’)</script>")
接收参数:
string a = Request.QueryString("id");
string b = Request.QueryString("id1");
2.为按钮添加对话框
Button1 ......
ASP.NET数据绑定控件(GridView、DataList、DetailsView、FormView等)里的字段设定格式后,却不起作用,显示还是原来的格式,没有按设定显示出来。
这里是要设置字段的一个属性才能要让字段格式起作用, 必须让数据字段的HtmlEncode属性为False,否则字段数据不会按格式显示。 ......
ASP.NET 提供三种用于在出现错误时捕获和响应错误的主要方法:Page_Error 事件、Application_Error 事件以及应用程序配置文件 (Web.config)。
如果您不调用 Server.ClearError 或者捕获 Page_Error 或 Application_Error 事件中的错误,则将根据 Web.config 文件的 <customErrors> 部分中的设置处理错误。在 <cus ......