首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

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

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

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


<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;

              }
          }
      }
}


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

热点排行