有个页面BrowsePost,里面包括两个用户控件PostDetails.ascx和PostBackDetails.ascx。其中第一个是用于显示帖子的内容,而第二个则是用于显示回帖的内容的。
现在想实现在翻到第二页回帖的时候不想显示postDetails的内容。
其中用AspNetPager来翻页的,而AspNetPager是包含在PostBackDetails里面的控件。
现在的问题是当我触发pagechanging事件的时候,其加载顺序是先加载PostDetials。ascs的load事件,然后再加载PostBackDetail的load事件和pagechanging的触发事件。
问题该怎么解决/??? 
望高手帮忙~~~  万分感激!!!!
上面有点罗嗦了~~~

解决方案 »

  1.   

    AspNetPager 做成带参数页的,然后在 PostDetails.ascx 里判断一下
      

  2.   

    但是在加载postDetail的时候读取的参数是之前的参数。也就是说因为先加载PostDetail在加载postbackDetail中的aspnetpage.indexChanging事件,所以在indexchanging的参数的改变根本不起什么作用!~~~~~
    我觉得应该先加载postbackdetail,后加载postdetail,但是光是在BrowsePost。aspx中把两个控件给换过来的话,就会把评论显示到上面,内容显示到下面了~~~~看各位高手能不能帮一下忙~~~
      

  3.   


    什么什么?你是怎么学到的asp.net?靠想象?当翻页的时候,在翻页的事件里去设置前者的Visible属性为false。怎么在page_load中处理事件?我真的不理解你是从哪里学的这个asp.net编程思路。我想可能是你仅仅看了几个最简单的asp.net程序“范例”。要注意,在page_load中处理本不该在这里处理的程序,例如本应该在page_prerender以及各个子控件的事件时,这种写法会完全让你写出的程序如“把脑袋装到裤子里”一般地别扭。
      

  4.   

    如果你已经“不去纠结page_load次序”,那么第二个思路就比较容易理解:在你的设计中,两个控件各司其职。那么,第二个怎么就知道去“找”第一个?难道你把第一个放到第二个内部去了吗?当我们收到第二个控件,我们拿来测试,我们就得问问开发者:它的接口设计中凭哪一个东西就能去了解它要隐藏哪个PostDetails呢?如果我在页面上有一个DataList嵌入的任意多个PostDetails呢?正常的接口设计,使用属性知道另一个,或者(更好地)使用事件通知宿主控件(例如页面)去处理。纠结于总是跑到page_load里边去处理那些在page_load才触发的各种事件的代码,这是刚学asp.net不久时才容易犯的毛病,这跟读许多的过于简单的“范例程序”有关。读的多了,就考虑第二个问题,组件之间通讯的基本职责划分问题了。
      

  5.   

    PostDetails.ascx 为这个控件定义一个事件就可以了或者使用js进行隐藏也可以通过反射的机制还是要具体的问题具体的分析