CaptchaMvc.Mvc5 не обновляет частичное представление - PullRequest
0 голосов
/ 16 мая 2019

Я использую библиотеку CaptchaMvc.Mvc5. Я создал частичное представление, чтобы показать код подтверждения, сгенерированный Captcha, который активируется @ Ajax.ActionLink Если код подтверждения неверен, новый код не генерируется и выдает следующую ошибку: Не удалось загрузить ресурс: сервер ответил на состояние 500 (Внутренняя ошибка сервера) http: // localhost: 2755 / DefaultCaptcha / Refresh

частичный просмотр вызова

@Ajax.ActionLink("PROCESAR PEDIDO", "ValidarCaptcha", "Principal",
                new AjaxOptions {
                  HttpMethod = "GET",
                  UpdateTargetId = "ModalCaptcha"
                },
                new { 
                  @class = "btn btn-flat btn-block",
                  data_toggle = "modal",
                  title = "Validar Captcha",
                  @data_target = "#ModalCaptcha",
                  @id = "btnprocesarpedido" 
                })

Частичный вид

@using CaptchaMvc.HtmlHelpers


<div class="modal-dialog modal-dialog-centered modal-sm" role="document">
        <div class="modal-content padding10px">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span></button>
                <h5 class="modal-title font-bold">Title </h5>
            </div>
            <div class="modal-body">
                <div class="row">
                    <div class="col-md-12">
                        @using ( Ajax.BeginForm("ValidarCaptcha", "Principal", new AjaxOptions() { UpdateTargetId = "MensajeAlert", HttpMethod = "Post", InsertionMode = InsertionMode.Replace, OnSuccess = "OnAjaxSuccessCaptcha" }) )
                        {
                            @Html.Captcha("Refrescar", "Ingrese el texto que ve arriba:", 4, "Campo requerido", false)

                            <div class="form-horizontal">
                                <div class="paddingtop15px">
                                    <div id="msjcaptcha"></div>
                                    <input type="submit" value="Enviar" class="btn btn-primary btn-flat" />
                                </div>

                            </div>

                        }

                    </div>
                </div>
            </div>
        </div>
    </div>

Контроллер действий

       [HttpPost]
        public ActionResult ValidarCaptcha(string CaptchaInputText)
        {
            int _result = 0;
            string _mensaje = string.Empty;
            string _url = string.Empty;
            try
            {
                if ( this.IsCaptchaValid(CaptchaInputText.ToUpper()) )
                {
                    _result = 1;
                    _url = new UrlHelper(Request.RequestContext).Action("PedidoProcesado", "Principal");
                }
                else
                {
                    _mensaje = "Captcha inválido";
                }

            }
            catch ( Exception ex )
            {
                Utility.RegistrarExcepcion("PrincipalController", "HttpPost()-ValidarCaptcha()", ex.ToString(), Request.Browser.Browser.ToString(), Request.Browser.Version.ToString());
            }

            return Json(new { result = _result, msj = _mensaje, url = _url }, JsonRequestBehavior.AllowGet);

        }

введите описание изображения здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...