0

我有一个 asp.net 应用程序,如果用户未通过身份验证,我想显示登录弹出窗口,如果用户已通过身份验证,则在同一页面上弹出成员区域。

我有这个控制器动作方法

 [ActionName("151LoginAPI")]
        public ActionResult NewCallRecording(string ID, string PSSWD, string ACCID, string PASSWDINT)
        {
....
....
...

return view();
}

在 151API 视图中,我在 document.ready 函数中完成了此操作

 $.ajax({
                type: "POST",
                dataType: "json",
                url: "/recording/verifyUser",
                data: {
                    ID: $("#ID").val(),
                    PSSWD: $("#PSSWD").val(),
                    ACCID: $("#ACCID").val(),
                    PASSWDINT: $("#PASSWDINT").val()
                },
                success: function (data) {
                    if (data == "success") {

                        jQuery('#dialog-AddCallRecording').dialog({ closeOnEscape: false });


                        $(".ui-dialog-titlebar").hide();
                        $("#dialog-AddCallRecording").dialog({ dialogClass: 'transparent', modal: true });
                        $("#dialog-AddCallRecording").dialog("open");                     

                    }
                    else {
                        jQuery("#dialog-user-login").dialog('option', 'position', 'center');
                        jQuery("#dialog-user-login").dialog("open");
                    }
                }
            });

我已经定义了 verifyuser 并且它正在验证并显示正确的弹出窗口。

它工作正常,但问题是当我设置断点时。我看到 NewCallRecording 总是被击中。然后验证用户被击中。我想让它先检查 verifyuser ,然后在用户打开 /NewCallRecording 页面时点击 NewCallRecording actionmethod

请建议我如何做到这一点。

4

1 回答 1

0

VerifyUser 调用是 ajax,NewCallRecording 是控制器动作。如果直接调用动作,它将在 Ajax 调用之前执行,因为 DOM 是由 actionresult 加载的,在这种情况下是 NewCallRedording..

在这种情况下,我认为您还需要进行服务器端验证,如果用户未通过验证,则将用户重定向到登录页面。

于 2013-02-28T07:34:54.230 回答