ASP.NET MVC2客户端验证错误?

时间:2010-08-09 14:39:15

标签: validation asp.net-mvc-2 client-side-validation

我在视图中使用Html.EnableClientValidation方法启用客户端验证。这种客户端验证非常适用于文本框,但我认为与dropdownbox一起使用时可能会发现一个错误。

如果您使用以下构造Html.DropDownList( name, data, "Please choose..." )而没有任何具有该名称的ViewData项,那么客户端验证效果很好。如果查看生成的HTML代码,您将看到ASP.NET在JSON块中为它生成了ValidationRules。

但是,如果我添加一个具有该名称的ViewData项,那么客户端验证的ValidationRules为空!

在这两种情况下,服务器端验证都按预期工作。 Bug还是有什么我想念的?

1 个答案:

答案 0 :(得分:1)

解决方案很简单:

<%= Html.DropDownList("Username", CType(ViewData("Data"), SelectList), "Please choose...")%>

如果你这样做,客户端验证不起作用:

<%= Html.DropDownList("Username", "Please choose...")%>

在这两种情况下,我使用相同的代码来构造ViewData项,但它只适用于第一个语句。