我有这种情况。这是前端asp:按钮组件。
<asp:Button ID="btnNewsAdd" runat="server" Text="Edit current news item" OnClientClick="return Confirm();" OnClick="btnNewsAdd_Click" UseSubmitBehavior="false"/>
这是Javascript:
<script type="text/javascript">
function Confirm() {
var result = window.confirm('Are you sure?');
if (result == true)
return true;
else
return false;
}
</script>
用户应点击&#34; btnNewsAdd&#34;按钮,应该触发Javascript并弹出一个带有是或否选项的对话框。单击是将返回true,否则将返回false。如果返回true,则返回后端的ASP.Net方法:btnNewsAdd_Click应该触发。它工作到15分钟前。在调试时,JS会跳过返回true行,并将headinto javascript文件我自己没有创建;但是,后端方法不会触发。
我注意到在Sources部分,HTML转换为下面的内容。可以看到OnClick和OnClientClick自动合并到OnClick中。这是自动的,我不知道这可能是问题还是其中的一部分。
<input type="button" name="ctl00$MainContent$btnNewsAdd" value="Edit current news item" onclick="return Confirm();__doPostBack('ctl00$MainContent$btnNewsAdd','')" id="MainContent_btnNewsAdd" />
我真的花了一整天的时间试图绕过它。在某个时刻它正在工作,它只是停止工作而没有改变任何东西。任何建议表示赞赏。
答案 0 :(得分:0)
正如雷克斯所指出的那样,正如这个话题中的几个人所解释的那样:See other thread
将按钮更改为:
<asp:Button ID="btnNewsAdd" runat="server" Text="Edit current news item" OnClick="btnNewsAdd_Click" OnClientClick="if (!Confirm()) return false;"/>
和Javascript:
<script type="text/javascript">
function Confirm() {
return confirm("Are you sure?");
}
</script>
问题解决了。