Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 5 数据注释/验证不适用于局部视图_Asp.net Mvc 5 - Fatal编程技术网

Asp.net mvc 5 数据注释/验证不适用于局部视图

Asp.net mvc 5 数据注释/验证不适用于局部视图,asp.net-mvc-5,Asp.net Mvc 5,我在运行时根据用户输入加载了一些局部视图 $("#Categories").change(function () { $.ajax({ url: "/Product/Create" + $("#Categories option:selected").text().replace(/\s+/, ""), type: "Get" }).done(function (partialViewResult) {

我在运行时根据用户输入加载了一些局部视图

$("#Categories").change(function () {
        $.ajax({
            url: "/Product/Create" + $("#Categories option:selected").text().replace(/\s+/, ""),
            type: "Get"
        }).done(function (partialViewResult) {
            $("#partialDiv").html(partialViewResult);
        });
    });
视图模型中使用的POCO用数据注释修饰,但它们不会被触发

每个局部视图都包含一个表单(Html.BeginForm())


我想我做错了什么,但不确定是什么。非常感谢您的建议。

只需在局部视图中包含JS文件,即
Jquery Unobtrusive JS
文件,这样也可以正常工作,有时在asp.net mvc中局部视图中会出现此问题

只需在局部视图中包含此js文件:

<script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script>

如果要在html中追加表单,请尝试此操作

var formid = $("#frmAddProduct");
formid.unbind();
formid.data("validator", null);
$.validator.unobtrusive.parse($("#frmAddProduct"));
或在文档准备就绪的部分视图中使用

$.validator.unobtrusive.parse($("form"));

当你说“数据注释未被触发”时,你的确切意思是什么?你是说表单验证不起作用吗?这是另一个问题,问题是您需要将表单动态添加到DOM中。您需要重新解析验证器。应该有帮助。@corneéM是的,这就是我的意思。谢谢@StephenMuecke。现在我们来看一下。我认为这是因为您正在从脚本添加一个新表单,而没有重新加载页面-新表单的事件没有连接到验证脚本?这是一个荒谬的问题bug@BrianOgden..just仔细阅读本页上的评论其实这不是一个bug…对不起,但它对我不起作用!还有别的办法吗?
$.validator.unobtrusive.parse($("form"));