ASP.NET MVC2 - подключиться к проверке на стороне клиента - PullRequest
0 голосов
/ 12 октября 2010

Я хочу вызвать некоторый пользовательский код, когда ошибки на стороне клиента обновляются с помощью проверки на стороне клиента ASP.NET MVC2. Я отследил эту функцию, к которой хочу подключиться:

Sys.Mvc.FormContext.prototype = {

    // ...

    _displayError: function Sys_Mvc_FormContext$_displayError() {
        if (this._validationSummaryElement) {
            if (this._validationSummaryULElement) {
                Sys.Mvc._validationUtil.removeAllChildren(this._validationSummaryULElement);
                for (var i = 0; i < this._errors.length; i++) {
                    var liElement = document.createElement('li');
                    Sys.Mvc._validationUtil.setInnerText(liElement, this._errors[i]);
                    this._validationSummaryULElement.appendChild(liElement);
                }
            }
            Sys.UI.DomElement.removeCssClass(this._validationSummaryElement, Sys.Mvc.FormContext._validationSummaryValidCss);
            Sys.UI.DomElement.addCssClass(this._validationSummaryElement, Sys.Mvc.FormContext._validationSummaryErrorCss);
        }
    },

    // ...

}    

Как я могу переопределить эту функцию, чтобы мой код мог

  • вызов исходной функции
  • тогда сделай другую работу

1 Ответ

0 голосов
/ 12 октября 2010

Нашли.

<script type="text/javascript">
    $(function () {
        var old_displayError = Sys.Mvc.FormContext.prototype._displayError;
        Sys.Mvc.FormContext.prototype._displayError = function () {
            old_displayError.apply(this);
            // do other stuff here
        }
    });
</script>

Я не привык переопределять функции прототипа, поэтому я немного озадачен.

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