读书人

很奇怪的分页有关问题,帮忙指点,

发布时间: 2012-01-20 18:53:53 作者: rapoo

很奇怪的分页问题,帮忙指点,急~~~~
分页有时候好使,有时候就没反应,没反映时在页面左下角会出现小叹号,提示页面有错误,请指点迷津~~~


<asp:datagrid id= "dgCreatePlan " runat= "server " AutoGenerateColumns= "False " DataKeyField= "mes_id " Width= "800px " AllowPaging=True PageSize= "10 " PagerStyle-Mode=NumericPages>
<HeaderStyle CssClass= "headerStyle " ForeColor= "White " HorizontalAlign= "Center " />
<ItemStyle BackColor= "white " />
<AlternatingItemStyle BackColor= "#EEEEEE " />
<PagerStyle Mode=NumericPages HorizontalAlign=Right Position=TopAndBottom> </PagerStyle>
<Columns>
<asp:BoundColumn HeaderText= "编号 " DataField= "mes_id "> </asp:BoundColumn>
<asp:TemplateColumn ItemStyle-Width= "300 " HeaderText= "标题 ">
<ItemTemplate>
<a style= "cursor:hand; " onmouseout= "hiddenDiv() " onmouseover= "javascript:startRequest( ' <%# DataBinder.Eval(Container.DataItem, "mes_id ")%> ', 'createdUncplPlan ') " onclick= "javascript:viewPlan( ' <%# DataBinder.Eval(Container.DataItem, "mes_id ")%> ', 'createdUncplPlan ') ">
<%# DataBinder.Eval(Container.DataItem, "title ")%>
</a>
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn ItemStyle-Width= "70 " HeaderText= "紧急程度 " DataField= "secretName " />
<asp:BoundColumn ItemStyle-Width= "70 " HeaderText= "重要程度 " DataField= "urgentName " />
<asp:BoundColumn ItemStyle-Width= "130 " HeaderText= "立项时间 " DataField= "add_date " />
<asp:BoundColumn ItemStyle-Width= "130 " HeaderText= "计划完成时间 " DataField= "over_date " />
</Columns>
</asp:datagrid>


后台代码
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using LJ;
using LJ.DatabaseControl;

namespace OfficeSystem.PersonalWork.Plan
{
/// <summary>
/// PlanController 的摘要说明。
/// </summary>

public class PlanController : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Label lbPlanListType;
protected System.Web.UI.WebControls.DataGrid dgCreatePlan;
protected System.Web.UI.WebControls.Label lbAddPlan;
protected System.Web.UI.WebControls.Label lbMsg;
protected System.Web.UI.WebControls.Label lbUncplPlan;
protected System.Web.UI.WebControls.Label lbCpledPlan;
private string empId= " ";

public string EmpId
{
get
{
return empId;
}
set


{
if(!empId.Equals(value))
empId=value;
}
}


public void SelectDataGrid(int i)
{
if(i==1)
{
this.dgCreatePlan.Enabled=false;
}
else if(i==2)
{
this.dgCreatePlan.Enabled=true;
}
}

private void DataGridBind(System.Web.UI.WebControls.DataGrid dg,string strCom)
{
try
{
WebControlMethod.DataGridBind(dg,strCom);
}
catch(Exception ex)
{
lbMsg.Text= "错误: "+ex.Message;
}
}

public void CreatedUncplePlan()
{
SelectDataGrid(2);
this.lbPlanListType.Text= "我的项目> > 未完成项目 ";
this.lbUncplPlan.Text= " <a href= '# ' class= 'operate '> 未完成项目 </a> ";
this.lbCpledPlan.Text= " <a href= 'PlanController.aspx?action=createCpledPlan ' class= 'operate '> 已完成项目 </a> ";
this.lbAddPlan.Text= " <img src= '../../WebPic/func_new.gif '> <a href= 'AddPlan.aspx ' class= 'operate '> 新建项目 </a> ";
string strSel= "exec P_GetPlanList ' "+this.EmpId+ " ', 'createdUncplPlan ' ";
this.DataGridBind(this.dgCreatePlan,strSel);
}

public void CreatedCpledPlan()
{
SelectDataGrid(2);
this.lbPlanListType.Text= "我的项目> > 已完成项目 ";
this.lbUncplPlan.Text= " <a href= 'PlanController.aspx?action=createdUncplPlan ' class= 'operate '> 未完成项目 </a> ";
this.lbCpledPlan.Text= " <a href= '# ' class= 'operate '> 已完成项目 </a> ";
string strSel= "exec P_GetPlanList ' "+this.EmpId+ " ', 'createCpledPlan ' ";
this.lbAddPlan.Text= " <img src= '../../WebPic/func_new.gif '> <a href= 'AddPlan.aspx ' class= 'operate '> 新建项目 </a> ";
this.DataGridBind(this.dgCreatePlan,strSel);
}

private void Page_Load(object sender, System.EventArgs e)
{
if(Session[ "emp_id "]!=null)
{
this.EmpId=Session[ "emp_id "].ToString();
if(EmpId== " ")


{
Response.Redirect( "../../security/login.aspx ");
}
}
else
{
Response.Redirect( "../../security/login.aspx ");
}
string strAction=Request.QueryString[ "action "];
if(!IsPostBack)
{
switch(strAction)
{
case "createdUncplPlan ":
CreatedUncplePlan();
break;
case "createCpledPlan ":
CreatedCpledPlan();
break;
}
}
}

#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.dgCreatePlan.ItemCreated += new System.Web.UI.WebControls.DataGridItemEventHandler(this.dgCreatePlan_ItemCreated);
this.dgCreatePlan.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.dgCreatePlan_PageIndexChanged);
this.dgCreatePlan.SelectedIndexChanged += new System.EventHandler(this.dgCreatePlan_SelectedIndexChanged_1);
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion

private void dgCreatePlan_SelectedIndexChanged_1(object sender, System.EventArgs e)
{
string strAction=Request.QueryString[ "action "];

switch(strAction)
{
case "createdUncplPlan ":
CreatedUncplePlan();
break;
case "createCpledPlan ":
CreatedCpledPlan();
break;
}
}

private void dgCreatePlan_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
ListItemType elemType=e.Item.ItemType;
//定制分页导航行,样式为[1],[2],第3页,[4]
if(elemType==ListItemType.Pager)
{
TableCell pager=(TableCell)e.Item.Controls[0];
int counter=pager.Controls.Count;
for(int i=0;i <counter;i++)
{
object o=pager.Controls[i];

if(o is LinkButton)
{
LinkButton h=(LinkButton)o;
h.Text= "[ "+h.Text+ "] ";


}
else if(o is Label)
{
Label l=(Label)o;
l.Text= "第 "+l.Text+ "页 ";
}
}
}
}

private void dgCreatePlan_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
string strAction=Request.QueryString[ "action "];

switch(strAction)
{
case "createdUncplPlan ":
this.dgCreatePlan.CurrentPageIndex=e.NewPageIndex;
this.dgCreatePlan.DataBind();
CreatedUncplePlan();
break;

case "createCpledPlan ":
this.dgCreatePlan.CurrentPageIndex=e.NewPageIndex;
this.dgCreatePlan.DataBind();

CreatedCpledPlan();

break;

}
}
}
}


[解决办法]
脚本错误,对像是空值,分页丢值

读书人网 >asp.net

热点推荐