请教Asp.net全局变量的问题?!
我正在写一个搜索显示的页面:
定义:
protected System.Web.UI.HtmlControls.HtmlInputText txtCarID;
.
.
.
public string strSql="select * from viw_DriverInfo";
然后页面LOAD
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!Page.IsPostBack)
{
SetBind(strSql);// 初始化DataGrid
}
}
附带SetBind函数代码
private void SetBind(string strMySql)
{
try
{
DbHelperSQL.BindDataGrid(strMySql,dgrdDrives);//DATAGRID绑定
}
catch(Exception ex)
{
PageClsLib.ShowErrorDescription(this.Page ,ex.Message.ToString(),"",true,true,true);
}
}
我使用的是DataGrid的自带分页功能:
private void dgrdDrives_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
dgrdDrives.CurrentPageIndex=e.NewPageIndex;
SetBind(strSql);
}
下面是搜索功能的实现:
private void btnSearch_Click(object sender, System.EventArgs e)
{
string strTmpSql,strConSql="";
if(txtCarID.Value.ToString()!="" || txtCarID.Value.Length>0)
{
strTmpSql=" CarID like '%" + txtCarID.Value.ToString().Trim() + "%' ";
if(strConSql.Length>5)
strConSql=strConSql + " and " + strTmpSql;
else
strConSql=strTmpSql;
}
if(txtCarNo.Value.ToString()!="" || txtCarNo.Value.Length>0)
{
strTmpSql=" CarNo like '%" + txtCarNo.Value.ToString().Trim() + "%' ";
if(strConSql.Length>5)
strConSql=strConSql + " and " + strTmpSql;
else
strConSql=strTmpSql;
}
if(strConSql.Length>5)
{
strSql=strSql + " where " + strConSql;
SetBind(strSql);
}
现在问题来了!当页面第一次访问是没有问题的,分页等等都很正常,但当我使用搜索后可以显示出来,但分页不正常.
不知道为什么strSql自动恢复成初始化时,导致搜索时分页不成功!
请问究竟strSql这个全局变量应该怎样使用呢?
顺便我的搜索那部分代码可以简化吗?我觉得很累赘哦!谢谢!