У меня есть бритва cshtml, которая использует jquery. Я получаю следующую ошибку при определенных действиях пользователя.
Ошибка времени выполнения Microsoft JScript: невозможно получить значение свойства
'unobtrusiveValidationAttributes': объект равен нулю или не определен
Когда происходит ошибка, отладчик прерывается на
MVCx.GetEditorByElement (b) .unobtrusiveValidationAttributes [c + this]});
из следующей строки кода
function(b,i){var d=a(b),f=d.parents("form")[0],c,e,g;if(!f)return;c=a(f).data("unobtrusiveValidation");c.options.rules[b.name]=e={};c.options.messages[b.name]=g={};a.each(this.adapters,function(){var c="data-val-"+this.name,i=MVCx.GetEditorByElement(b).unobtrusiveValidationAttributes[c],h={};if(i!==undefined){c+="-";a.each(this.params,function(){h[this]=MVCx.GetEditorByElement(b).unobtrusiveValidationAttributes[c + this]});this.adapt({element:b,form:f,message:i,params:h,rules:e,messages:g})}});jQuery.extend(e,{__dummy__:true});!i&&c.attachValidation()}
Моя теория заключается в том, что ошибка вызвана тем, что у меня может не быть ссылки на определенный файл JQuery (отсутствует некоторые <script src="@Url.Content("~/ApplicationScripts/JQuery/jquery-1.4.4.min.js")" type="text/javascript"></script>.
Предполагая, что это вызвано отсутствием ссылки на jquery, один из способов ее решения - добавить все ссылки на jquery (очевидно, утомительно). Интересно, есть ли лучший способ найти, какая ссылка на jquery действительно нужна?
UPDATE
Вот как мои ссылки настроены прямо сейчас
<script src="@Url.Content("~/ApplicationScripts/JQuery/jquery-1.4.4.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/ApplicationScripts/JQuery/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/ApplicationScripts/JQuery/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/ApplicationScripts/JQuery/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>