有两个问题:
1.如果你想获取改变后的的值,你至少是回发过来的,就是说通过服务器控件的点击事件过来的
2.document.getElementById("<%=TextBox1.ClientID %>").value = "999999999999";
没有意义
至少是这样的:
window.onload = function(){
document.getElementById("<%=TextBox1.ClientID %>").value = "999999999999";
}
1.如果你想获取改变后的的值,你至少是回发过来的,就是说通过服务器控件的点击事件过来的
2.document.getElementById("<%=TextBox1.ClientID %>").value = "999999999999";
没有意义
至少是这样的:
window.onload = function(){
document.getElementById("<%=TextBox1.ClientID %>").value = "999999999999";
}
解决方案 »
- 输入字符串的格式不正确
- 在web中 能不能在服务器端判断客户端的电脑上指定的一个文件夹上是否存在某一个文件
- Excel.Workbooks.Open方法有时会出错是怎么回事啊?!救命呀!!
- 不好意思,又来打扰大家,关于repeater的问题
- 怎么样从gridview中获取一列数据的值?没分了,还望各位大哥帮帮忙!!谢谢
- 求同学录的源码(asp.net-vb.net)
- 谁能帮我看看那里出错了?谢谢!!
- 新人求助
- 用过C1 的高手进!!!~~~
- 【后街男儿】->〖求助帖〗:请高手推荐一下用codebehind的asp.net开发教程、书籍或文档,或者告诉小弟该怎样学呢?谢谢!!
- 数据源控件如何写update语句呢?
- repeater或者DataList
if(!IsPostback)
{......
这样的判断吗?因为page_load中的代码就怕被不小心胡乱调用了,所以要限制。就你的代码来说,你把代码写到 page_PreRender 中就没有问题了!或者就如你所言,在Click事件处理过程中就没有问题了。aps.net页面生命周期中,它要收集所有Postback来的提交数据,并且重建上一次输出html之前相同的控件树并且恢复上一次页面输出时的成千上万个ViewState状态值(这个过程中触发page_load事件),然后才填入Postback来的提交数据,之后才(根据ViewState跟Post数据有不一样的从而)触发各种 ValueChanged 事件。因此正常的asp.net,就是这样的。你在page_load中去处理回发,只能说是瞎子摸象,靠生搬硬套别人的代码。自己理解了asp.net机制,才会设计程序。
在PreRender事件也取不到值的,不信你试一下,我之所以要在page_load中获取数据,是因为这个网页是跳出窗口,我只能用javascript来获取父窗口的值,再在page_load分析这些数据生成一个gridview。
这个页面是弹出窗口,这个弹出窗口获取的是父窗口的值,所以我才要这样处理。window.parent.parent.document.getElementById("父窗口控件id").value;
从断点来看,page_load会比javascript先执行,在我印像中应该是WEB页先执行,再执行CS的。
如果做page_load做计数器,估计要等计数完成才会执行前台的javascript。
目前是知道javascript最后执行,不知道有什么事件比它晚执行。
pageload里执行 Response.Write("<script language=javascript> document.getElementById('<%=TextBox1.ClientID %>').value = '999999999999'</script>");
哥们,这样不行的,你想啊,LOAD先执行了,前台的HTML还没有生成,肯定会报JS错误啦
a.aspx?txtvalue=99999
pageload里面
{
if(!this.ispostback)
{
string str=request["txtvalue"].tostring();
textbox1.text=str;
}
}
自己改成vb.net的吧,requst那判断一下是不是null 要不然如果request["txtvalue"]是null的话 tostring会报错。
if(!IsPostback)
{......
这样的判断吗?因为page_load中的代码就怕被不小心胡乱调用了,所以要限制。就你的代码来说,你把代码写到 page_PreRender 中就没有问题了!或者就如你所言,在Click事件处理……
用GET不行的,URL不可传内容不可靠啊。
呵呵,哥们理解我真正碰到的问题啊TextBox1是runat="server",如果JS先执行,而TextBox1后生成input,那么找JS会找不到input的ID,所以JS会报错的。
事实证明, HTML比page_PreRender后执行。。PreRender执行完了浏览器才开始解析JS脚本。
2.楼主可以换个思路解决问题:
要么在服务器端发送js脚本,那么你自然就可以获取那个所谓的值
要么在客户端赋值后立马提交页面
如果是非模态的你就要回发了,
一个页面周期中,js一定是最后到了客户端才执行的<----这句是重点,很多人都以为PreRender比JS后触发,实际上不是这样的。
我现在的情况:
父页面上有很多输入框,当点击提交按钮后要弹一个子窗口出来做确认(不能刷新网页),我找了个greybox组件,可惜它不能做post提交。
http://orangoo.com/labs/GreyBox/不知道你们老手是怎么来解决这个问题的???
你是怎么把父窗口的数据提交到弹出窗口上的,能用POST吗?如果用JS获取父窗口的数据肯定行不通的,因为page_load比JS先执行。
其实用ajax也不好做的,用hidden也不行的,因为在page_load里取不到hidden的值。
或者是自己定义的服务器端的会话对象上,
把会话对象的guid通过url传递给任何页面都可以成功重建这个表单
用session吧