2017-08-24 34 views
0

我有这种情况。这是前端asp:按钮组件。从OnClientClick返回true后在方法后执行OnClick代码javascript函数

<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> 

用户应该点击“btnNewsAdd”按钮后,这个Javascript应该被解雇,并有一个对话框或任何选项弹出。单击yes将返回true,no将返回false。如果返回true,则后端中的ASP.Net方法将会触发:btnNewsAdd_Click。直到15分钟前它一直在运转。在调试时,JS会遍历返回的真实行,然后传入我没有创建自己的JavaScript文件;但是,后端方法不会触发。

我注意到在Sources部分中,HTML转换为下面的。可以看到OnClick和OnClientClick自动合并到OnClick中。这是自动的,我不知道它可能是问题还是它的一部分。

<input type="button" name="ctl00$MainContent$btnNewsAdd" value="Edit current news item" onclick="return Confirm();__doPostBack(&#39;ctl00$MainContent$btnNewsAdd&#39;,&#39;&#39;)" id="MainContent_btnNewsAdd" /> 

我已经花了一整天的时间试图绕过它。在某个时候它正在工作,它没有改变任何东西就停止了工作。任何建议感激。

+1

您可能会发现您的答案https://stackoverflow.com/questions/14058116/confirm-postback-onclientclick-button-asp-net – Rex

+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> 

问题解决了。

相关问题