0
当我在释放模式下使用时捆绑收到以下错误f为空。但出于某种原因,一旦文件被捆绑在一起,我会收到错误信息。我已经定义了下列软件包:类型错误:使用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"
));
而且我在页面的页眉内部渲染了这些包。而在我的Login.cshtml
文件的底部,我有以下代码:
<script type="text/javascript">
$(function() {
var context = new LoginViewModel();
ko.applyBindings(context, document.getElementById('login_form'));
});
</script>
当我注释掉,我没有得到的错误了。
我不确定这是否是由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