使用动态加载的局部视图进行不显眼的验证

时间:2014-02-26 15:39:29

标签: asp.net-mvc-4 unobtrusive-validation

我正在点击按钮

加载部分视图
 function loadview(ele) {
        if (ele == 'account') {
           $('#updateprofile').load('@Url.Action("UpdateProfile", "Account")');
           $.validator.unobtrusive.parse($("#updateprofile"));
        }

        if (ele == 'password') {
           $('#changepassword').load('@Url.Action("ChangePassword", "Account")');
           $.validator.unobtrusive.parse($("#changepassword"));                
        }
   }

验证不适用于由ajax请求加载的部分视图。但它适用于@Html.Partial("ChangePassword", Model.changepassword)

任何帮助;

1 个答案:

答案 0 :(得分:5)

您必须在load

的回调函数中调用解析函数
function loadview(ele) {
    if (ele == 'account') {
        $('#updateprofile').load('@Url.Action("UpdateProfile", "Account")', function () {
           $.validator.unobtrusive.parse($("#updateprofile"));
        });
    }
    if (ele == 'password') {
        $('#changepassword').load('@Url.Action("ChangePassword", "Account")', function () {
           $.validator.unobtrusive.parse($("#changepassword"));
        });
    }
}

现在,您可以在加载任何内容之前调用解析函数。