를 사용할 때 F가 null . 그러나 어떤 이유로 파일이 실제로 번들되면 오류가 발생합니다. 다음 번들을 정의했습니다 :형식 오류 : 릴리스 모드에서 번들을 사용할 때 다음과 같은 오류를 얻고있다 ASP.NET MVC4 번들
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/Common/jquery/jquery-{version}.js",
"~/Scripts/Common/jquery/jquery-ui-{version}.js",
"~/Scripts/Common/jquery/jquery.labelify.js"));
bundles.Add(new ScriptBundle("~/bundles/login").Include(
"~/Scripts/Common/knockout/knockout-2.1.0.js",
"~/Scripts/Common/knockout/json2.js",
"~/Scripts/Common/knockout/knockout.validation.min.js",
"~/Scripts/Common/knockout/KnockoutValidationConfiguration.js",
"~/Scripts/App/Common/LoginViewModel.js"
));
그리고이 번들을 페이지 머리글 안에 렌더링했습니다. 나는 그것을 주석 때
<script type="text/javascript">
$(function() {
var context = new LoginViewModel();
ko.applyBindings(context, document.getElementById('login_form'));
});
</script>
, 나는 더 이상 오류가 발생하지 않습니다 그리고 내 Login.cshtml
파일의 맨 아래에, 나는 다음과 같은 코드가 있습니다.
이것은 LoginViewModel
또는 사용중인 라이브러리 중 하나가 원인인지 확실하지 않습니다. 어쨌든 LoginViewModel
코드는 다음과 같습니다.
function LoginViewModel() {
var self = this;
self.Username = ko.observable().extend({ required: { message: "Nom d'utilisateur est obligatoire" } });
self.Password = ko.observable().extend({ required: { message: 'Mot de passe est obligatoire' } });
self.ErrorMessage = ko.observable();
self.enableButton = ko.computed(function() {
var errors = ko.utils.unwrapObservable(ko.validation.group(self));
return (errors.length == 0);
});
self.onLogin = function() {
var credentials = ko.toJSON({
Username: self.Username(),
Password: self.Password()
});
$.ajax({
url: "/Account/Login",
type: "post",
contentType: 'application/json',
data: credentials,
success: function (data) {
if (data && data.result == "success") {
self.ErrorMessage("");
window.location = data.targetUrl;
}
else if (data && data.result == "failure") {
self.ErrorMessage(data.errorMessage);
}
}
});
}
};
의견이 있으십니까? 어떻게 디버깅 할 수 있으며 왜 릴리스 모드에서만 발생합니까?
아니요. 그것은 작동하지 않았다. – Kassem
방금 녹아웃 검증에 대한 모든 언급을 주석 처리했으며 오류가 사라졌습니다. 그래서이 도서관에 문제가있는 것 같습니까? 당신이 제안한대로했는데 문제가 해결되지 않았습니다. 어떤 아이디어? – Kassem
knockout.validation을 모르기 때문에 질문에 답변 할 수 없습니다. 난 그냥 .min 파일을 번들에 추가 할 수 없다는 것을 알고있다. – MuriloKunze