在ajax表单更新后如何重新绑定我的验证事件?

时间:2011-01-15 09:21:33

标签: asp.net-mvc

我想知道如何在通过ajax注入页面的表单元素上重新绑定验证。

这是呈现给浏览器的局部视图。

<tr>
    <td><%= Html.ValidationMessageFor(m => m.FirstName)%><%= Html.EditorFor(m => m.FirstName)%></td>
    <td><%= Html.ValidationMessageFor(m => m.LastName)%><%= Html.EditorFor(m => m.LastName)%></td>
    <td><%= Html.ValidationMessageFor(m => m.IsAttending)%><%= Html.EditorFor(m => m.IsAttending)%></td>
    <td><%= Html.ValidationMessageFor(m => m.Food)%><%= Html.EditorFor(m => m.Food)%></td>
</tr>

我还查看了MicrosoftMvcValidation.debug.js,看看是否有我可以调用的任何函数,我发现了这个;

// register validation
Sys.Application.add_load(function() {
  Sys.Application.remove_load(arguments.callee);
  Sys.Mvc.FormContext._Application_Load();
});

我已经尝试在ajax调用完成之后以及将标记注入DOM之后调用此代码,但是没有雪茄。

我偶然发现了这个问题,但它只讨论了对通过ajax注入的整个表单进行重新绑定验证,这对我也没有帮助。 mvc2-client-validation-isnt-working-when-getting-form-from-ajax-call

我可能还应该提到我的部分视图在DOM中生成重复的ID。关于如何解决这个问题的一些指示也将非常受欢迎。感谢。

1 个答案:

答案 0 :(得分:0)

ASP.NET MVC Client Side Validation with Dynamic Contents

这是一个很好的起点。希望它有所帮助。