我网页上有一个按钮,当按下这个按钮后先执行一个javascript,就是把整个页面灰掉,显示“等待”(这个javascript已经写好了)。在出现等待的这个过程中,还要运行一个后台的代码进行数据库的一些操作。但是现在的问题是,我在asp:button 的onclick事件里面加上onclick="abc();", 然后后台注册这个button.click += 事件 处理数据库的操作。以上的操作,不起作用。请问,正确的方法应该怎么弄?谢谢
调试欢乐多
btn1_Click()为服务器端函数
<asp:Button OnClick ="btn1_Click()" OnClientClick ="ab()" />
vs2005: OnClientClick
<input type="Button" value="确定" OnClientClick ="ab()"/>
“后台的代码进行数据库的一些操作”用AJAX做(纯手写、AjaxPro.2.dll或AJAX包任君选择)。在ab()这个客户端事件里既可以执行js方法显示进度,又可以利用AJAX技术对数据库操作。
2、我的button是在repeater里面的,但是不知道什么原因,我在动态绑定button的时候去注册它的click事件,总是不可以,因此我就在页面代码上面直接写了 onclick="ClearTriage_Click"(这里的ClearTriage_Click是后台代码的函数名)
比如protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
btn.Attribute.Add("onclick","alert('a')"); }
}
问题就是在于这个repeater的内容是动态生成的,一直在变,因此不可能在if (!IsPostBack){}申明。所以只能在页面上加onclick来直接调用。