【问题标题】:ASP.Net MVC 2.0 Client-Side Validation Posting BackASP.Net MVC 2.0 客户端验证回发
【发布时间】:2011-03-10 14:21:53
【问题描述】:

我一直在根据 Scott Gu 的博客尝试这个:http://weblogs.asp.net/scottgu/archive/2010/01/15/asp-net-mvc-2-model-validation.aspx

我的问题是,虽然我的脚本正在运行(在 firebug 中检查)并且我没有收到任何错误。我的页面仍在服务器上。我也启用了 javascript ;)

我有以下查看代码:

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<Part1a.ViewModels.ProductModel>" %>


创建

<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; }

我也在使用实体框架 4.0。

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

非常感谢

泰德

【问题讨论】:

  • 2.0 抱歉 - 领先于游戏 :)

标签: asp.net asp.net-mvc entity-framework validation client-side


【解决方案1】:

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

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

此链接也可能有帮助: http://blogs.msdn.com/b/rickandy/archive/2009/10/03/client-side-validation-for-mvc-2-p2.aspx?wa=wsignin1.0

上面的链接指向一篇建议您使用脚本的 CDN 版本的文章。我还没有尝试过——它可能会更好,因为保证你会得到一个最新的、受支持的脚本。

【讨论】:

    猜你喜欢
    • 2011-02-08
    • 1970-01-01
    • 1970-01-01
    • 2010-09-14
    • 2014-07-21
    • 1970-01-01
    • 1970-01-01
    • 2010-10-28
    • 1970-01-01
    相关资源
    最近更新 更多