日期:2014-05-18  浏览次数:20406 次

求js和.net事件处理流程的顺序
我想实现如下功能:
功能一:有一按钮Button,点下去后先是执行一段js代码,得到一个数据A,然后紧接着在.net的Button_Click事件中对数据A进行操作得到数据B,然后再把数据B显示在页面的某个控件上。
功能二:就是和功能一反一下,先执行Button_Click事件得到B,再通过js得到B进行处理得到A。

------解决方案--------------------
1. vs2005 里的button自带了 onClientClick属性,可以在回发之前先执行javascript
如果 先执行javascript 得到数据后,保存在一个hidden里(runat=server).
然后后台的OnClick事件可以拿到此hidden的值.即OK

2.和上面相反,一样可以做到

先OnClick 时给页面hidden赋值,再通过javascript获取hidden值
------解决方案--------------------
<asp:Button ID= "Button1 " runat= "server " Text= "Button " OnClick= "Button1_Click " OnClientClick= "document.getElementById( 'TextBox1 ').value = '111 ' " />
<asp:TextBox ID= "TextBox1 " runat= "server "> </asp:TextBox>

protected void Button1_Click(object sender, EventArgs e)
{
TextBox1.Text = TextBox1.Text + "//加上ServerClick处理 ";
}
------解决方案--------------------
其实弄清楚原理还是比较好的

js在客户端运行,将生成的数据post到服务端 服务端处理 服务端生成HTML和js等 text/plain的东西发送到客户端 客户端在用js处理

这样弄下来不就很简单了嘛