在DataList里的FooterTemplate有一个Button控件
在DataList事件ItemCommand中用e.Item.Findcontrol("button")方法找到这个控件并使这个Button控件不可用(Enabled=false)
然后再重新Binding数据
问题:该Button控件并没有被禁用,而这时候的button.Enabled却等于false,有朋友遇到类同的问题吗?
是什么回事呢???
在DataList事件ItemCommand中用e.Item.Findcontrol("button")方法找到这个控件并使这个Button控件不可用(Enabled=false)
然后再重新Binding数据
问题:该Button控件并没有被禁用,而这时候的button.Enabled却等于false,有朋友遇到类同的问题吗?
是什么回事呢???
解决方案 »
- PlaceHolder 控件 能作为Repeater控件的子控件吗?
- 对数据库操作时OleDbParameter 有什么好处和坏处
- GridView编辑状态下的DropDownList二级联动问题
- .net中子窗体的值如何回传给父窗体的文本框
- ASP.NET生成HTML页后的维护
- 请问在web中嵌入一个可以编辑word的控件,用哪一种比较好,大侠给推荐个。
- 鼠标移到某个行上后行变颜色的脚本问题
- 请问怎么在datatable中定义主键?
- 修改注册表却提示没有权限??如何处理??
- datagrid显示的问题
- (100分求高手)TimerControl不能放在UpdatePanel里?
- 网页上能否动态作图(指的是通过MouseDown,MouseMove,MouseUp)
System.Web.UI.WebControls.DataListCommandEventArgs e)
{
dlThis.SelectedIndex = e.Item.ItemIndex ;
if(e.Item.ItemType==ListItemType.Footer)
{
((Button)e.Item.FindControl("btnPageFirst")).Enabled = true ;
((Button)e.Item.FindControl("btnPageAhead")).Enabled = true ;
((Button)e.Item.FindControl("btnPageNext")).Enabled = true ;
((Button)e.Item.FindControl("btnPageLast")).Enabled = true ;
string actionText = e.CommandArgument.ToString() ;
int index =Convert.ToInt32(Session["index"]) ;
if( actionText =="first")
{
Session["index"] = 0 ;
((Button)e.Item.FindControl("btnPageFirst")).Enabled = "false" ;
((Button)e.Item.FindControl("btnPageAhead")).Enabled = false ;
}
else if( actionText =="ahead")
{
Session["index"] =--index;
}
else if( actionText =="next")
{
Session["index"] =++index ;
}
else if( actionText =="last")
{
Session["index"] = Convert.ToInt32(ViewState["pageCount"])-1 ;
((Button)e.Item.FindControl("btnPageNext")).Enabled = false ;
((Button)e.Item.FindControl("btnPageLast")).Enabled = false ;
}
}
dlThisDataBinding() ;//对数据进行分页绑定的方法
}
System.Web.UI.WebControls.DataListCommandEventArgs e)
{
}
你放置的事件不正确所以无效!
我把我的分页代码给你看看,参考一下吧!!
+++++++++++++++++++++++++++++++++++++
public class news_modify : System.Web.UI.Page
{
protected System.Web.UI.HtmlControls.HtmlForm form1;
protected System.Web.UI.WebControls.DataList dl_news;
protected System.Web.UI.WebControls.Button btn_prv;
protected System.Web.UI.WebControls.Button btn_next;
private NewsHdl newshdl=new NewsHdl();
protected System.Web.UI.WebControls.Button btnFirt;
protected System.Web.UI.WebControls.Button btnLast;
int PageSize; //每页显示条目数量
int RecordCount; //总记录数
int PageCount; //总页数
int CurrentPage; //当前页数
protected System.Web.UI.WebControls.Label l_pagesize;
protected System.Web.UI.WebControls.Label l_curpage;
protected System.Web.UI.WebControls.Button btndel;
protected System.Web.UI.WebControls.Label l_pagecount;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
PageSize=3; //每页显示初始化新闻数量
this.l_pagesize.Text=PageSize.ToString();
RecordCount=newshdl.getRecordCount(); //获取总记录数
PageCount=(RecordCount%PageSize)>0?(RecordCount/PageSize)+1:(RecordCount/PageSize); //计算总页数
this.l_pagecount.Text=PageCount.ToString();
this.dl_news.DataKeyField="hbtd_NewsId";
if(!this.IsPostBack)
{
CurrentPage=1; //初始化当前页码为1
this.l_curpage.Text=CurrentPage.ToString();
this.DataBindDG();
}
}
private void DataBindDG()
{
System.Web.UI.WebControls.PagedDataSource ps =new PagedDataSource();
ps.DataSource=newshdl.selectNews().DefaultView; //将datatable视图赋值给分页数据源
ps.AllowPaging=true; //是否允许分页
ps.PageSize=PageSize; //每页显示条目数量
ps.CurrentPageIndex=CurrentPage-1; //获取当前页的索引(索引是从0值开始)
this.btn_prv.Enabled=true; //上一页按钮初始状态为可用
this.btn_next.Enabled=true; //下一页按钮初始状态为可用
this.btnFirt.Enabled=true; //首页按钮初始状态为可用
this.btnLast.Enabled=true; //尾页按钮初始状态为可用
if(CurrentPage==1)
{
this.btn_prv.Enabled=false; //第一页时:上一页按钮状态为不可用
this.btnFirt.Enabled=false;
this.btn_next.Enabled=true;
this.btnLast.Enabled=true;
}
if(CurrentPage==PageCount)
{
this.btn_next.Enabled=false; //最后一页时:下一页按钮状态为不可用
this.btnLast.Enabled=false;
this.btn_prv.Enabled=true;
this.btnFirt.Enabled=true;
}
this.dl_news.DataSource=ps; //将DataList的数据源设置为可分页的数据
this.dl_news.DataBind(); //绑定
} #region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.dl_news.DeleteCommand += new System.Web.UI.WebControls.DataListCommandEventHandler(this.dl_news_DeleteCommand);
this.dl_news.ItemDataBound += new System.Web.UI.WebControls.DataListItemEventHandler(this.dl_news_ItemDataBound);
this.btndel.Click += new System.EventHandler(this.btndel_Click);
this.btnFirt.Command += new System.Web.UI.WebControls.CommandEventHandler(this.Page_OnClick);
this.btn_prv.Command += new System.Web.UI.WebControls.CommandEventHandler(this.Page_OnClick);
this.btn_next.Command += new System.Web.UI.WebControls.CommandEventHandler(this.Page_OnClick);
this.btnLast.Command += new System.Web.UI.WebControls.CommandEventHandler(this.Page_OnClick);
this.Load += new System.EventHandler(this.Page_Load); }
#endregion
private void Page_OnClick(object sender,CommandEventArgs e)
{
CurrentPage=Convert.ToInt32(this.l_curpage.Text);
PageCount =Convert.ToInt32(this.l_pagecount.Text);
string str=e.CommandName;
switch(str)
{
case "First":
CurrentPage=1;
break;
case "Prv":
if(CurrentPage>1) --CurrentPage;
break;
case "Next":
if(CurrentPage<PageCount) ++CurrentPage;
break;
case "Last":
CurrentPage=PageCount;
break;
// case "DEL":
// newshdl.delNews(this.dl_news.DataKeys.ToString(),1);
// break; }
this.l_curpage.Text=CurrentPage.ToString();
this.DataBindDG();
}