动态重新绑定html.ValidationMessageFor html帮助器?

时间:2014-07-25 15:19:56

标签: html asp.net-mvc

一些背景信息,我使用ASP.NET和MVC框架以及html助手。

我目前有一个动态表,其中每一行都有一系列输入框。每个输入框都有一个验证消息。这对第一行完全正常。但是,当动态添加其他行时(ID与其他属性一起更改以匹配行号),验证消息将不再起作用。 正在正确复制行和验证消息范围。

在JQuery中,这通常只是绑定的问题,因此对于每一行,我只需重新绑定ID'。但是,我并不确定如何在ASP.NET中使用它们。

任何帮助都将不胜感激。

由于

1 个答案:

答案 0 :(得分:1)

好吧,我终于弄明白了。

在MVC中,为了处理验证,它导入了一个名为jquery.validate.unobtrusive.js的JQuery文件。 但是,与JQuery类似,这只发生在加载页面的最开始。因此,当您添加新的动态元素时,需要删除绑定并再次重新绑定它们。

基本上,在添加新元素的函数中,在添加新元素之后添加以下代码行:

$("#form").removeData("validator");
$("#form").removeData("unobtrusiveValidation");
$.validator.unobtrusive.parse("#form");

例如:

function addInfoDynamic()
{
    document.getElementById("#myDiv").innerHTML += "New Content";

    $("#form").removeData("validator");
    $("#form").removeData("unobtrusiveValidation");
    $.validator.unobtrusive.parse("#form");
}
相关问题