在MVC4中使用Javascript处理时禁用页面

时间:2016-01-04 00:32:33

标签: javascript asp.net-mvc asp.net-mvc-4 dialog

我在我的项目中使用MVC4。单击页面上的按钮,我需要显示一个对话框,然后在确认时,我需要进行事件处理。

  $('#btn1).click(function (e) {

            e.preventDefault();
            var meetingvar = new Array();
            var cells = $(this).closest('td').siblings('td');
            meetingvar = $(cells[2]).text().split(",");
            var params = {};
            params.meetingdate = meetingvar[0];
            params.meetingstate = meetingvar[1];
            params.meetingvenue = meetingvar[2];

            $.ajax(
                            {
                                type: 'GET',
                                url: '/[Controler]/[action1],
                                data: { MeetingDate: params.meetingdate, MeetingState: params.meetingstate, MeetingVenue: params.meetingvenue },
                                beforeSend: function (jqXHR, settings) {
                                    setLoaderLabel('Please wait...');
                                    showLoader();
                                }
                            }).done(function (data, textStatus, jqXHR) //success callback
                            {
                                if ($.trim(data) == 1) {
                                    var dialog = $('<p>Confirmation Required. Do you want to overwite ?</p>').dialog({
                                        buttons: {
                                            "Yes": function () { //alert('you chose yes'); 
                                                window.location.href = '/[Controller]/[Action2]?MeetingDate=' + meetingvar[0] + '&MeetingState=' + meetingvar[1] + '&MeetingVenue=' + meetingvar[2] + '&toGen=1';
                                            },
                                            "No": function () { //alert('you chose no'); 
                                                window.location.href = '/[controller]/[action2]?MeetingDate=' + meetingvar[0] + '&MeetingState=' + meetingvar[1] + '&MeetingVenue=' + meetingvar[2] + '&toGen=0';
                                            },
                                            "Cancel": function () {
                                                dialog.dialog('close');
                                            }
                                        }
                                    });
                                }
                                if ($.trim(data) == 0) {
                                    showLoader();
                                    window.location.href = '/[controller]/[action1]?MeetingDate=' + meetingvar[0] + '&MeetingState=' + meetingvar[1] + '&MeetingVenue=' + meetingvar[2] + '&toGen=1';
                                }
                                if ($.trim(data) == 2) {
                                    ShowErrorMessage('<p>NOT DEFINED</p>');
                                }
                            }).fail(function (jqXHR, textStatus, errorThrown) //error callback
                            {
                                var errorMsg = GetAjaxResponseTitle(jqXHR.responseText);
                                ShowErrorMessage('<p>' + errorThrown + '</p>' + errorMsg);
                                hideLoader();
                            }).always(function () //complete callback
                            {
                                hideLoader();
                            });


        });

在这里,成功之后,从第一个action1开始,它将成功,使用Loader(基本上禁用主页面)。但是我在Click of Yes或No上需要相同的Loader功能,因为在重定向之前有一个需要一些时间的事件。在此阶段,不应允许用户单击基页上的任何其他按钮。不知道如何实现这一目标。请提供任何帮助。

提前致谢

0 个答案:

没有答案