问题原因:        嵌套了一个
A界面:
<iframe src="../../VideoAbout.aspx"></iframe>VideoAbout.aspx界面:    绑定了数据源,并且是动态的绑定,会有值传进来
     if (Request.QueryString["videoGuid"] == null)
            {
                绑定1            //没有值传进来的时候
            }
            else
            {
                绑定2            //有值传进来之后
            }
     
  问题来了: VideoAbout.aspx界面的东西 我绑定2 完了之后,打开A界面  他就又会执行一遍绑定 并且会一直绑定1 因为没有值传进去, 不知说的明白了没有,大致就是iframe加载的时候还会自动的绑定一遍,会把我原来绑定的给覆盖掉  我现在每次都绑定的是同一个内容,不知道怎么解决,在线等,求解决!

解决方案 »

  1.   

    url传值改用cookies
    这个值就可以保存,就不会执行绑定1 
      

  2.   

    VideoAbout.aspx.cs中:
    if (Request.QueryString["videoGuid"] == null && ViewState["绑定2"]==null )
      {
      绑定1 //没有值传进来的时候
      ViewState["绑定2"]=null;
      }
      else
      {
      绑定2 //有值传进来之后
       ViewState["绑定2"]=true;
      }
      

  3.   


    这样子的话 ViewState永远都是null
    因为 这个VideoAbout.aspx.cs 它是执行了2遍绑定 第一遍是我传值进去的时候 把这个ViewState的值改成了True   第二遍 VideoAbout.aspx.cs 他又从头开始执行了一下,ViewState又变成了null 还是只绑定1   除非我把ViewState用Application记录下来 或许可以 不过总感觉不是办法。。
      

  4.   


    <a  target="_top"  href="VideoAbout.aspx?videoGuid=<%#Eval("videoGuid") %>" class="link2">
      

  5.   

    真的很难理解!
    你的<a target="_top" href="VideoAbout.aspx?videoGuid=<%#Eval("videoGuid") %>" class="link2">,和<iframe>是在同一页面?你为什么要让绑定执行2遍?第一遍ViewState已经有值,第二遍怎么可能有进入Null分支?Application是跨用户的,你想让所有用户共享吗?当然不是办法!
      

  6.   


    我细细的说  现在总共有3个界面  1.一个是 嵌套了iframe的界面(不是aspx文件,无法修改,无法实现绑定,无法接收值)
    2.一个是 VideoAbout.aspx 绑定的界面
    3.一个是传值到VideoAbout.aspx的界面我点击了3这个界面的的某个按钮 触发 传值到VideoAbout.aspx 实现了绑定2 然后再重定向到 1(嵌套了iframe这个界面) , 在 1 这个界面中,因为有iframe 它就又会执行一遍iframe里的绑定 这时候的绑定 肯定是没有值传进去的 所以就一直绑定默认的那个
      

  7.   

    为什么要"实现了绑定2 然后再重定向到1"难道你认为重定向后,原来的VideoAbout.aspx还会存在?
      

  8.   

    实现绑定2后,ViewState已经为true,重定向到1,由于1的加载是的iframe加载,重新执行页面2,此时ViewState不为null,是不会执行绑定1的。我说的哪里错了?我写的那段的确有问题,问题是无法执行绑定1,而不是无法执行绑定2。
      

  9.   


    把3也放在1里啊.
    3传到iframe中的2, 这样2就会变了.
      

  10.   


    你的ViewState 是用什么记录的呢? 如果在页面2中记录的话 会被刷掉成为默认值,不知是用什么来记录这个的?
      

  11.   


    我的3貌似是在1里面的 用了另外一个Iframe嵌套的 
    <a target="_top" href="VideoAbout.aspx?videoGuid=<%#Eval("videoGuid") %>" class="link2">
    我这边传的页面 是传给1 还是2?
      

  12.   

    把3也放在1里啊.
    3传到iframe中的2, 这样2就会变了.
      

  13.   

    呵呵,ViewState会被谁刷掉?ViewState用于页面级状态保持。
      

  14.   

    是在2中 
    定义  string ViewState="";
    这样吗?
    后面在根据判断做出不同的修改?
      

  15.   

    <a target="_top" href="VideoAbout.aspx?既然你要传给2,为什么要target=_top呢?
    直接target到 2所在的iframe.问题不就解决了?
      

  16.   

    不是很明白你为什么要这样做,因为没有全面了解你的目的和要求.
    但能感觉得出来你是人为搞得很复杂]完全可以把这个结构全部推翻,重新用一种精干,明晰的加构来达到同样的目的.
    譬如大家说的cookie传值,或者用javascript在客户端来取值并传值.甚至用上ajax