我用HyperLinkColumn向从a页向b页传过去一个string,然后在b页中利用这个string从数据库中读取数据显示在b页里并且视图修改后存入数据库(获取这个string在Page_Load事件中).但b页中有dropdownlist,其中autopostback设置为true.现在发现每次触发selectedindexchanged事件的时候b页的Page_Load事件又被触发,导致b页又从数据库读取一次数据.我很奇怪这个时候b页怎么还可以读取这个由a页传入的string.另外在b页用ispostback可以避免上述问题.我想请问一下有没有别的办法来避免这个问题

解决方案 »

  1.   

    Not ispostback就是对页面是不是第一加载作出判断,并执行相应的动作;还
    并不知道有什么别的办法。
      

  2.   

    你可把获取A页面传递来的string内容的过程放在如下里面
    if(!this.IsPostBack)
    {
    string xx = this.request.querystring["xx"];
    }如此,当你B页面中的下拉框响应事件而提交页页时,即不会重复取到A页面中传递来的值.
      

  3.   

    另外在b页用ispostback可以避免上述问题.我想请问一下有没有别的办法来避免这个问题
    ==========
    我想想别的方法,还是有的,比如SESSION等,这个并不好.
    但是就你这个问题你没必要一定要在page_load里获得这个a页面提交来的参数啊。你可以在你要用的时候再获得也可啊