有两个问题:
1.如果你想获取改变后的的值,你至少是回发过来的,就是说通过服务器控件的点击事件过来的
2.document.getElementById("<%=TextBox1.ClientID %>").value = "999999999999"; 
没有意义
  至少是这样的:
   window.onload = function(){
   document.getElementById("<%=TextBox1.ClientID %>").value = "999999999999"; 
   }

解决方案 »

  1.   

    谁教你的要将回发处理的代码写在page_load呢?你没有看到通常在page_load中都会写
        if(!IsPostback)
        {......
    这样的判断吗?因为page_load中的代码就怕被不小心胡乱调用了,所以要限制。就你的代码来说,你把代码写到 page_PreRender 中就没有问题了!或者就如你所言,在Click事件处理过程中就没有问题了。aps.net页面生命周期中,它要收集所有Postback来的提交数据,并且重建上一次输出html之前相同的控件树并且恢复上一次页面输出时的成千上万个ViewState状态值(这个过程中触发page_load事件),然后才填入Postback来的提交数据,之后才(根据ViewState跟Post数据有不一样的从而)触发各种 ValueChanged 事件。因此正常的asp.net,就是这样的。你在page_load中去处理回发,只能说是瞎子摸象,靠生搬硬套别人的代码。自己理解了asp.net机制,才会设计程序。
      

  2.   


    在PreRender事件也取不到值的,不信你试一下,我之所以要在page_load中获取数据,是因为这个网页是跳出窗口,我只能用javascript来获取父窗口的值,再在page_load分析这些数据生成一个gridview。
      

  3.   


    这个页面是弹出窗口,这个弹出窗口获取的是父窗口的值,所以我才要这样处理。window.parent.parent.document.getElementById("父窗口控件id").value;
      

  4.   


    从断点来看,page_load会比javascript先执行,在我印像中应该是WEB页先执行,再执行CS的。
      

  5.   

    你在page_load里做个计数器就知道了 。
      

  6.   


    如果做page_load做计数器,估计要等计数完成才会执行前台的javascript。
    目前是知道javascript最后执行,不知道有什么事件比它晚执行。
      

  7.   

    楼主,你先去找找ASP.NET页面的生命周期吧你对于页面执行的流程都没了解清楚。
      

  8.   


    pageload里执行  Response.Write("<script language=javascript> document.getElementById('<%=TextBox1.ClientID %>').value = '999999999999'</script>");
      

  9.   

    学习了,楼主是解决问题,还是要学习asp.net页面声明周期
      

  10.   


    哥们,这样不行的,你想啊,LOAD先执行了,前台的HTML还没有生成,肯定会报JS错误啦
      

  11.   

     直接load里textbox.text="9999999"; 不就好了。。
      

  12.   

    按照这个流程应该是这样子,页面生成之后,先执行LOAD 事件 那么获取的text 应该“” 之后执行JS 的赋值99999 所以在点击按钮事件才会获取到赋值数据,你可以把 JS 写到body 外面 让页面加载前先执行JS 之后在执行form 的加载事件
      

  13.   

    在aspx后面传递个参数不就行了
    a.aspx?txtvalue=99999
    pageload里面
    {
    if(!this.ispostback)
    {
    string str=request["txtvalue"].tostring();
    textbox1.text=str;
    }
    }
    自己改成vb.net的吧,requst那判断一下是不是null 要不然如果request["txtvalue"]是null的话 tostring会报错。
      

  14.   

    谁教你的要将回发处理的代码写在page_load呢?你没有看到通常在page_load中都会写
        if(!IsPostback)
        {......
    这样的判断吗?因为page_load中的代码就怕被不小心胡乱调用了,所以要限制。就你的代码来说,你把代码写到 page_PreRender 中就没有问题了!或者就如你所言,在Click事件处理……
      

  15.   


    用GET不行的,URL不可传内容不可靠啊。
      

  16.   


    呵呵,哥们理解我真正碰到的问题啊TextBox1是runat="server",如果JS先执行,而TextBox1后生成input,那么找JS会找不到input的ID,所以JS会报错的。
      

  17.   


    事实证明, HTML比page_PreRender后执行。。PreRender执行完了浏览器才开始解析JS脚本。
      

  18.   

    1.一个页面周期中,js一定是最后到了客户端才执行的,服务器"无法感知"js的处理结果;
    2.楼主可以换个思路解决问题:
    要么在服务器端发送js脚本,那么你自然就可以获取那个所谓的值
    要么在客户端赋值后立马提交页面
      

  19.   

    如果硬要这么做的话 用ajax的话 行不行呢或者用个hidden
      

  20.   

    如果是弹出的窗口模态的就用 window.returns = 你的内容;
    如果是非模态的你就要回发了,
      

  21.   

    不要写在 !Ispostback里, 
      

  22.   


    一个页面周期中,js一定是最后到了客户端才执行的<----这句是重点,很多人都以为PreRender比JS后触发,实际上不是这样的。
    我现在的情况:
    父页面上有很多输入框,当点击提交按钮后要弹一个子窗口出来做确认(不能刷新网页),我找了个greybox组件,可惜它不能做post提交。
    http://orangoo.com/labs/GreyBox/不知道你们老手是怎么来解决这个问题的???
      

  23.   


    你是怎么把父窗口的数据提交到弹出窗口上的,能用POST吗?如果用JS获取父窗口的数据肯定行不通的,因为page_load比JS先执行。
      

  24.   


    其实用ajax也不好做的,用hidden也不行的,因为在page_load里取不到hidden的值。
      

  25.   

    父窗口提交的时候,你应该把表单数据存放在cookie,session,
    或者是自己定义的服务器端的会话对象上,
    把会话对象的guid通过url传递给任何页面都可以成功重建这个表单
      

  26.   

    取不到的,Page_Load先执行。
    用session吧
      

  27.   

    谢谢哥们,我现在在找这种东西在不刷新的父窗口的情况下直接能POST数据到子窗口。想找一个这种JS组件窗口,有第三方中转件当然是最好啦