注册 登录
编程论坛 ASP.NET技术论坛

如何在页面一进入后就转到最后一页

aei135 发布于 2010-06-29 17:59, 1503 次点击
如何在页面一进入后就转到最后一页,我的页面是有添加新行功能的
if(!IsPostBack)
{
   Bind();
   dg1.CurrentPageIndex=dg1.PageCount;
    Bind();
}
这样写不行,刚进去显示是对的,但是换页时就有问题了
17 回复
#2
HeiN2010-07-01 02:13
也是 刚接触 不久,直接 Response.Redirect("") 不行么?
#3
gongqf2010-07-01 04:23
为什么要显示最后一页
数据用降序不行吗??   翻过来了啊
#4
saitor2010-07-01 09:58

    Bind();
这个要放在!IsPostBack外吧
你这回传不是每次要绑两次。
#5
冰镇柠檬汁儿2010-07-01 12:44
支持3楼的说法,倒序排列一下会比较好
#6
aei1352010-07-01 14:24
我有添加行的,添加行在最后一页呢,页面一进去如果在第一页的话,得翻到最后一页才能做添加行动作的
#7
冰镇柠檬汁儿2010-07-01 14:43
添加行的功能,一定要写在列表中?不能写在列表下面的一个单独的功能模块中吗?还是说需求就是这么要求的?

[ 本帖最后由 冰镇柠檬汁儿 于 2010-7-1 14:44 编辑 ]
#8
aei1352010-07-01 15:00
要放在DataGrid的Footer里,因为添加的字段很多
#9
bygg2010-07-01 15:30
if(!IsPostBack)
{
    if(ViewData["IsFirst"] == null)
    {
        dg1.CurrentPageIndex = dg1.PageCount;
    }
    ViewData["IsFirst"] = "false";
    Bind();
}
#10
bygg2010-07-01 15:31
另外,也可以用一个参数来指定要不要跳到最后一页,就像论坛一样.
#11
冰镇柠檬汁儿2010-07-02 00:15
回复 9楼 bygg
我觉得gridview在没绑定之前,应该是不会知道其自身的总页数吧
#12
bygg2010-07-02 09:29
我看他写的那句,不就是另外取的总页数吗?

我觉得用gridview不太好。每一次都得将所有的数据加载一次,如果数据量大,直接挂掉。
#13
冰镇柠檬汁儿2010-07-02 09:59
呵呵,我也觉得这么绑定不好,但是也许楼主的系统数据量本身就不大啊,我记得我原来测试过gridview,好像数据加载超过2000后就有明显的延迟了。
#14
bygg2010-07-02 10:13
我做的系统中,就没用过这东西,呵呵。
一般做个啥小系统啊,作业啊,还可以,用着方便,数据源一套,就OK了。

不过现在网上有许多的分页控件,有的还不错。
不过我比较喜欢用MVC那种显示数据的方式。
#15
冰镇柠檬汁儿2010-07-02 10:45
回复 14楼 bygg
嗯,这个观点我赞同,在没有 MVC前,我基本都是用拼接html代码的方式显示列表的,然后,分页用数据库分页方式,基本上不用.NET的控件。只是我这样的方法写列表,在拼接的时候多少显得有些老土了,呵呵。
bygg,你以前都是怎么写列表的?
#16
bygg2010-07-02 11:20
一般的列表:<%……%>
哈哈。
在数据源上就做了处理,所以也不会存在多余的数据出现。

不过告诉大家一个特别需要注意的地方:
整个页面,一定不可以用一个table来进行划分,这样会极度影响页面的显示。
因为table是需要将里面的内容全部加载完成之后,才会显示出来,所以,一般的情况下,用div+css,或者是用几个table进来不同数据的显示。切记切记
#17
冰镇柠檬汁儿2010-07-02 11:56
哦,好的,我记下了
#18
NewDeveloper2010-07-02 21:22
回复 13楼 冰镇柠檬汁儿
这个 分页在数据库写个存储过程就好了何必直接全部加载呢
1