ASP.NETMVC2.0客户端验证发回

ASP.NETMVC2.0客户端验证发回,asp.net,asp.net-mvc,entity-framework,validation,client-side,Asp.net,Asp.net Mvc,Entity Framework,Validation,Client Side,我一直在尝试基于Scott Gu的博客: 我的问题是,虽然我的脚本正在运行签入firebug,但我没有收到任何错误。我的页面仍将转到服务器。我也启用了javascript 我有以下视图代码: <%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<Part1a.ViewModels.ProductModel>" %&

我一直在尝试基于Scott Gu的博客:

我的问题是,虽然我的脚本正在运行签入firebug,但我没有收到任何错误。我的页面仍将转到服务器。我也启用了javascript

我有以下视图代码:

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<Part1a.ViewModels.ProductModel>" %>
我还使用实体框架4.0

有人知道为什么我的页面还在发回吗

非常感谢


Ted

这与我一年多前开始使用ASP.NET MVC以来在ASP.NET MVC中的行为一致。我实际上还没有尝试过2.0的RTM,但我听说它在那里也是一样的——客户端验证根本不起作用

这个线程解决了这个问题,并建议您从MVC Futures获取脚本,我以前也见过

此链接也可能有助于:


上面的链接引出了一篇文章,建议您使用CDN版本的脚本。我还没有尝试过这一点-它可能会更好,因为您可以保证获得最新的、受支持的脚本。

2.0抱歉-游戏开始前:
<script src="../../Scripts/MicrosoftAjax.js" type="text/javascript"></script>   
<script src="../../Scripts/MicrosoftMvcValidation.js" type="text/javascript"></script> 

<h2>Create Product</h2>    

<% Html.EnableClientValidation(); %>

<% using (Html.BeginForm()) {%>               
    <fieldset>
        <legend>Fields</legend>            
        <%= Html.LabelFor(model => model.Owner) %>        
        <%= Html.EditorFor(model => model.Owner) %> 
        <%= Html.ValidationMessageFor(model => model.Owner)%>  

        <p>
            <input type="submit" value="Create" />
        </p>
    </fieldset>
<% } %>

<div>
    <%: Html.ActionLink("Back to List", "Index") %>
</div>
[DataType(DataType.Text)]
[DisplayName("Owner")]
[Required]
[StringLength(60)]
public string Owner { get; set; }