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