gpt4 book ai didi

c# - 为什么我必须渲染我的 Bundle 两次?

转载 作者:行者123 更新时间:2023-11-30 13:00:54 25 4
gpt4 key购买 nike

MVC 项目中,我为 validation 包含了必要的引用:

@Scripts.Render("~/bundles/jqueryval")

在我的 _Layout 页面中。但是,例如在我的 Register 页面中,验证不起作用,除非我将此代码添加到我的 Register 页面。在这两种情况下,当我查看我的页面的源代码时,我会在那里看到必要的引用。

<script src="/Scripts/jquery.unobtrusive-ajax.js"></script>
<script src="/Scripts/jquery.validate.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive-custom-for-bootstrap.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive.js"></script>

所以一切正常。它没有添加两次引用,但我不知道有什么区别?

这是我的Bundle代码:

bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/Scripts/jquery.unobtrusive*",
"~/Scripts/jquery.validate*"));

注意:我在我的 _Layout 中渲染了几个样式包,它不会导致任何问题。

最佳答案

当我尝试在我的部分 View 中进行验证时,我遇到了同样的问题。

从不同的帖子来看,我的解决方案最终是这样的:

在部分 View 中,我用 <div id="#formDiv> 围绕我的编辑字段并添加脚本

<script>
$(document).ready(function() {
$.validator.unobtrusive.addValidation("#formDiv");
});
</script>

和一个 custom.js:

//Validation on partial views
$(function () {
$.validator.unobtrusive.addValidation = function(selector) {
//get the relevant form
var form = $(selector);
// delete validator in case someone called form.validate()
$(form).removeData("validator");
$.validator.unobtrusive.parse(form);
};
});

关于c# - 为什么我必须渲染我的 Bundle 两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21345502/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com