大年初一,祝大家新年快乐,万事如意,
我aspx页面的的代码如下,有四个标题对应四个内容,只显示其中一个(初始设为显示content1),功能是:当点击一标题如"发放记录"(ID号为titel2)时,就显示,对应的(ID号为content2)DIV框,其它的div隐藏.CSS代码多我没列出(点击显示对应的DIV是没有问题的)。但我在content2里有个datagrid,要实现分页功能,问题就出来了,当显示content2时点下一页的时候,页面重新加载初始化了,就会把content1显示出来,而我想看的是content2的第二页内容.我想到的办法是在后台e.NewPageIndex时,把content2的className设置为显示(css里activecontent为显示,hiddencontent为隐藏)其它的DIV设为隐藏。那怎么在_PageIndexChanged事件里改变前台className呢???或者大家有别的方法吗??
<div class="searchmenu">
<ul class="title">
<li><a id="title1" onclick ="chang(1)" href="#" class="active">库存</a></li>
<li><a id="title2" onclick ="chang(2)" href="#">发放记录</a></li>
<li><a id="title3" onclick ="chang(3)" href="#">网点库存</a></li>
<li><a id="title4" onclick ="chang(4)" href="#">出单记录</a></li>
</ul>
<div id="content1" class="activecontent">
内容太多没例出1
</div>
<div id="content2" class="hiddencontent">
<asp:DataGrid ID="dgShowInComeNote" runat="server" AllowPaging="True" AutoGenerateColumns="False" OnPageIndexChanged="dgShowInComeNote_PageIndexChanged" PageSize="18">
<PagerStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False" Font-Underline="False" HorizontalAlign="Center" />
<Columns>
<asp:BoundColumn DataField="icSource" HeaderText="来源"></asp:BoundColumn>
<asp:BoundColumn DataField="insuType" HeaderText="类别"></asp:BoundColumn>
<asp:BoundColumn DataField="icFromNum" HeaderText="起号"></asp:BoundColumn>
<asp:BoundColumn DataField="icDate" HeaderText="接收日期"></asp:BoundColumn>
</Columns>
</asp:DataGrid>
</div>
<div id="content3" class="hiddencontent">
内容太多没例出3
</div>
<div id="content4" class="hiddencontent">
内容太多没例出4
</div>
我aspx页面的的代码如下,有四个标题对应四个内容,只显示其中一个(初始设为显示content1),功能是:当点击一标题如"发放记录"(ID号为titel2)时,就显示,对应的(ID号为content2)DIV框,其它的div隐藏.CSS代码多我没列出(点击显示对应的DIV是没有问题的)。但我在content2里有个datagrid,要实现分页功能,问题就出来了,当显示content2时点下一页的时候,页面重新加载初始化了,就会把content1显示出来,而我想看的是content2的第二页内容.我想到的办法是在后台e.NewPageIndex时,把content2的className设置为显示(css里activecontent为显示,hiddencontent为隐藏)其它的DIV设为隐藏。那怎么在_PageIndexChanged事件里改变前台className呢???或者大家有别的方法吗??
<div class="searchmenu">
<ul class="title">
<li><a id="title1" onclick ="chang(1)" href="#" class="active">库存</a></li>
<li><a id="title2" onclick ="chang(2)" href="#">发放记录</a></li>
<li><a id="title3" onclick ="chang(3)" href="#">网点库存</a></li>
<li><a id="title4" onclick ="chang(4)" href="#">出单记录</a></li>
</ul>
<div id="content1" class="activecontent">
内容太多没例出1
</div>
<div id="content2" class="hiddencontent">
<asp:DataGrid ID="dgShowInComeNote" runat="server" AllowPaging="True" AutoGenerateColumns="False" OnPageIndexChanged="dgShowInComeNote_PageIndexChanged" PageSize="18">
<PagerStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False" Font-Underline="False" HorizontalAlign="Center" />
<Columns>
<asp:BoundColumn DataField="icSource" HeaderText="来源"></asp:BoundColumn>
<asp:BoundColumn DataField="insuType" HeaderText="类别"></asp:BoundColumn>
<asp:BoundColumn DataField="icFromNum" HeaderText="起号"></asp:BoundColumn>
<asp:BoundColumn DataField="icDate" HeaderText="接收日期"></asp:BoundColumn>
</Columns>
</asp:DataGrid>
</div>
<div id="content3" class="hiddencontent">
内容太多没例出3
</div>
<div id="content4" class="hiddencontent">
内容太多没例出4
</div>
解决方案 »
- 循环读取数据中的记录
- ajax 页面局部更新变乱码,应该如何修正?
- asp.net上传下载?
- 关于TreeView控件
- 急!!!!!!!!!!!!!
- 存储过程 output参数如何设置
- re:类库中,class跟Module用途跟使用方法上有何区别?
- 指定默认显示项的DropDownList应该如何写?只剩10分,请帮忙,问题解决马上给分。
- html语句的检验问题
- 请高手进来讨论一下程序集版本的问题。
- 一百分:请说说在VS2005中开发项目时,用不用建两个数据库(除ASPNETDB.MDF,还要不建一个用于数据信息操作)?
- 域名可以泛解析,空间不支持泛绑定,不知可不可以用url重写来实现二级域名?
{
get
{
if(ViewSate["showContentNum"]==null)
return 1;
else
return (int)ViewSate["showContentNum"];
}
set
{
ViewSate["showContentNum"]=value;
SubStateChanged=true;
}
}//这里我按照你的设计。原本对于asp.net来说,可以通过控件的Visible使得控件根本不重新
//绑定内容(需要绑定前判断),也不用输出到客户端。
void OnSubStateChanged()
{
this.Content1.CssClass=ShowContentNum==1?"activecontent":"hiddencontent";
this.Content2.CssClass=ShowContentNum==2?"activecontent":"hiddencontent";
this.Content3.CssClass=ShowContentNum==3?"activecontent":"hiddencontent";
this.Content4.CssClass=ShowContentNum==4?"activecontent":"hiddencontent";
}void page_load(object sender,EventArgument e)
{
......
if(SubStateChanged)
OnSubStateChanged();
}void page_PreRender(object sender,EventArgument e)
{
.......
if(SubStateChanged)
OnSubStateChanged();
}
{
SubStateChanged=false;
this.Content1.CssClass=ShowContentNum==1?"activecontent":"hiddencontent";
this.Content2.CssClass=ShowContentNum==2?"activecontent":"hiddencontent";
this.Content3.CssClass=ShowContentNum==3?"activecontent":"hiddencontent";
this.Content4.CssClass=ShowContentNum==4?"activecontent":"hiddencontent";
}
this.Content1.Attributes["CssClass"]=
ShowContentNum==1?"activecontent":"hiddencontent";
————————————————————————————————————————
A: 接上面代码,在此时应该写:
ShowContentNum=2;仅这一条代码就足矣设置切换所有content的显示。
你写的属性点醒了我,我就用属性和javascript搞定了;
给大家共享一下代码; protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.bindDgShowStockPile();//初始化库存邦定
this.bindDgShowInComeNote();//初始化接收记录邦定
this.ViewState["showTitleNum"] = 1;
this.ViewState["showContentNum"] = 1;
this.changedNum();
}
}
//设置页面div和<a>的class
private void changedNum()
{
this.title1.Attributes["Class"] = ShowTitelNum == 1 ? "active" : " ";
this.content1.Attributes["Class"] = ShowContentNum == 1 ? "activecontent" : "hiddencontent"; this.title2.Attributes["Class"] = ShowTitelNum == 2 ? "active" : " ";
this.content2.Attributes["Class"] = ShowContentNum == 2 ? "activecontent" : "hiddencontent";
}
int ShowTitelNum
{
get
{
return (int)(this.ViewState["showTitleNum"]);
}
}
int ShowContentNum
{
get
{
return (int)(this.ViewState["showContentNum"]);
}
}
//接收记录显示分页
protected void dgShowInComeNote_PageIndexChanged(object source, DataGridPageChangedEventArgs e)
{
this.ViewState["showTitleNum"] = 2;
this.ViewState["showContentNum"] = 2;
this.changedNum(); this.dgShowInComeNote.CurrentPageIndex = e.NewPageIndex;
this.bindDgShowInComeNote();
}
实际效果就是csdn首面左列的"排行榜"效果的基础上我加了分页,本来很简单的,让我搞复杂了,