1 <div id="login" class="login">
2 <asp:Button ID="btnIndexLogin" CssClass="btn" Text="登陆" runat="server" OnClick="btnIndexLogin_Click"/>
3 </div>
function login(){
dialog=art.dialog({
title:'登陆',
width:350,
lock:true,
callback:true,
content:document.getElementById("login").innerHTML
});
}
浏览器查看了一下解析结果,发现button的onclick事件并没有被解析出来:
<input type="submit" name="ctl00$btnIndexLogin" value="登陆" id="ctl00_btnIndexLogin" class="btn">
怎么回事呢?
OnClick是服务器端事件,客户端用OnClientClick
就是要使用服务器端事件啊,不然都没有问题了
@行梭鱼人: 服务器事件在生成html上看不出来的,看下这篇文章的分析
http://www.cnblogs.com/tedyding/archive/2010/03/20/1690685.html
@OOLi: 哦,那为什么服务器端的button的onclick服务器端事件不执行呢
@OOLi: 我知道了,后来通过artDialog执行后生成的
<input type="submit" name="ctl00$btnIndexLogin" value="登陆" id="ctl00_btnIndexLogin" class="btn"> 不在form表单中,可是怎么把它放在form 表单中呢??
@行梭鱼人:直接追加到form节点里试试?
@行梭鱼人:
或者直接调用_doPostBack方法也行。
如果 調用服務器端事件,那麼客戶端的會先響應,只有return false 才能,阻止服務器執行,能看到效果。你這個最好用異步執行ajax
因为artdialog弹窗内容是脱离form的,但在关闭后又加回到form,所以可以用这段代码
$('#btnIndexLogin').click(function () { dialog.close(); setTimeout(function () { $("#form1").submit(); }, 10); });
在给你说个解决方法
UseSubmitBehavior="false"
因为 你的btn 被移除了 表单 但是你可以 设置按钮 不被解析成 submit
有用哇,谢谢
我也遇到了这个问题,请问解决了吗?