javascript给TextBox斌值后,如何在Page_Load事件里获取TextBox的值

javascript给TextBox斌值后,怎么在Page_Load事件里获取TextBox的值
 <form id="form1" runat="server">
    <div>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:Button ID="Button1" runat="server" Text="Button" />
    </div>
    <script type="text/javascript">
        document.getElementById("<%=TextBox1.ClientID %>").value = "999999999999";
    </script>
    </form>


 Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        'Page_load取不到TextBox1的值,好像是Page_Load事件比前台JS脚本先执行了
        Dim str As String = Me.TextBox1.Text
        Context.Response.Write(str)
    End Sub

    Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        '这里面可以获取到数据
        Dim str As String = Me.TextBox1.Text
        Context.Response.Write(str)
    End Sub

------解决方案--------------------
有两个问题:
1.如果你想获取改变后的的值,你至少是回发过来的,就是说通过服务器控件的点击事件过来的
2.document.getElementById("<%=TextBox1.ClientID %>").value = "999999999999"; 
没有意义
  至少是这样的:
   window.onload = function(){
   document.getElementById("<%=TextBox1.ClientID %>").value = "999999999999"; 
   }
------解决方案--------------------
谁教你的要将回发处理的代码写在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机制,才会设计程序。
------解决方案--------------------
看不懂。。。。
------解决方案--------------------
你在page_load里做个计数器就知道了 。
------解决方案--------------------
用ajax,可以写在js之后
------解决方案--------------------
楼主,你先去找找ASP.NET页面的生命周期吧。。。

你对于页面执行的流程都没了解清楚。
------解决方案--------------------

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


------解决方案--------------------
引用:
谁教你的要将回发处理的代码写在page_load呢?你没有看到通常在page_load中都会写
    if(!IsPostback)
    {......
这样的判断吗?因为page_load中的代码就怕被不小心胡乱调用了,所以要限制。

就你的代码来说,你把代码写到 page_PreRender 中就没有问题了!

或者就如你所言,在Click事件处理……

学习了,楼主是解决问题,还是要学习asp.net页面声明周期
------解决方案--------------------
 直接load里textbox.text="9999999"; 不就好了。。
------解决方案--------------------
按照这个流程应该是这样子,页面生成之后,先执行LOAD 事件 那么获取的text 应该“” 之后执行JS 的赋值99999 所以在点击按钮事件才会获取到赋值数据,你可以把 JS 写到body 外面 让页面加载前先执行JS 之后在执行form 的加载事件javascript给TextBox斌值后,如何在Page_Load事件里获取TextBox的值
------解决方案--------------------
在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会报错。
------解决方案--------------------
谁教你的要将回发处理的代码写在page_load呢?你没有看到通常在page_load中都会写
    if(!IsPostback)
    {......
这样的判断吗?因为page_load中的代码就怕被不小心胡乱调用了,所以要限制。

就你的代码来说,你把代码写到 page_PreRender 中就没有问题了!

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