ASP.Net - Esc Key停止我的'发送电子邮件'代码

时间:2015-08-05 15:31:28

标签: c# asp.net webforms

我有一个webform,在一个页面上有一个提交按钮。在尝试发送电子邮件时,此提交按钮显示处理模式。如果电子邮件发送,则页面重定向,如果失败则显示错误消息。所有这一切都运行良好,但我发现一个问题,如果用户点击'Esc'键,没有发送电子邮件,它不属于我的mapreduce.job.running.reduce.limit。它似乎完全停止了我的电子邮件流程。

如果用户单击该进程仍在进行的Esc键(或可能的键和其他键),我该如何确保。我知道的第一阶段。

HTML

catch

代码

    <div class="form-group">
        <div class="col-xs-12">
            <div class="pull-right">
                <asp:LinkButton ID="pg3button" runat="server" OnClick="pg3button_Click" CssClass="btn btn-primary" OnClientclick="ShowPopup();"><span aria-hidden="true" class="glyphicon glyphicon-ok"></span> Send & complete</asp:LinkButton>
            </div>
        </div>
    </div>

    <div class="modal fade" id="myModal" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="static" data-keyboard="false">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <h4 class="modal-title">
                        <asp:Label ID="lblModalTitle" runat="server" Text="">Processing</asp:Label>
                    </h4>
                </div>
                <div class="modal-body">
                    <asp:Label ID="lblModalBody" runat="server" Text="">
                        <p class="text-center">
                            <img src="../Content/Images/loading.gif" />
                        </p>
                    </asp:Label>
                </div>
            </div>
        </div>
    </div>

    <script>
        function ShowPopup()
        {
           $('#myModal').modal();
        }
    </script>

2 个答案:

答案 0 :(得分:0)

在页面顶部使用一些javascript IMO

<script type="text/javascript">
    document.querySelector("input").addEventListener("keyup",function(e){
    switch (e.keyCode) {

    case 116 : // 'F5'
         event.returnValue = false;
         event.keyCode = 0;
         break;  

    case 27: // 'Esc'
        event.returnValue = false;
        event.keyCode = 0;
        break;

    }
}
</script>

这是一个如何检查多个密钥代码的示例。您可以使用相同的逻辑来检查任何类型的按键并按照您认为合适的方式处理它们。

Here是您需要的密钥代码列表

答案 1 :(得分:0)

我发现对我有用的修复程序是将以下内容添加到我的页面顶部:

<script type="text/javascript">
    window.addEventListener('keydown', function (event)
    {
        // if the keyCode is 27 ( Esc )
        if (event.keyCode === 27)
        {
            event.preventDefault();
            return false;
        }

        // if the keyCode is 116 ( F5 )
        if (event.keyCode === 116) {
            event.preventDefault();
            return false;
        }

        // if the keyCode is 8 ( Backspace )
        if (event.keyCode === 8) {
            event.preventDefault();
            return false;
        }
    });
</script>
相关问题