2010-07-01 169 views
1

基於斯科特谷的博客,我一直在努力這樣的:http://weblogs.asp.net/scottgu/archive/2010/01/15/asp-net-mvc-2-model-validation.aspxASP.Net MVC 2.0客戶端驗證回發

我的問題是,雖然我的腳本運行(在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; } 

我也在使用Entity Framwork 4.0。

有沒有人有任何想法爲什麼我的網頁仍然回傳?

非常感謝

特德

+3

ASP.NET MVC 3.0? :) – 2010-07-01 12:10:00

+0

2.0對不起 - 遊戲提前:) – Ted 2010-07-01 13:19:22

回答

0

這是行爲,我在ASP.NET MVC已經越來越一致的,因爲我開始使用它在一年前。我沒有真正嘗試過RTM 2.0,但我聽說它也是一樣的 - 客戶端驗證發射不起作用。

此線程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版本的文章。我還沒有嘗試過 - 它可能會更好,因爲您可以保證獲得當前支持的腳本。