2012-03-07 84 views
0

我正在开发CRM并面临模型验证中的一些麻烦。当模型中只有一个对象(我正在使用EF)在窗体上验证时,该过程看起来很简单。但是,当我试图处理多个对象的验证时,只有一个顶部记录得到验证。这里是代码:MVC输入验证3

@model List<CROS1.Models.GetParams_Result> // 

<h3 align="center"> 
    Please fill report params 
</h3> 


<div class="sidebar_item"> 
    @using (@Ajax.BeginForm("ConfirmGeneration", "Home", ajaxOptions: new AjaxOptions 
                      { 
                       HttpMethod = "GET", 
                       UpdateTargetId = "params", 
                       InsertionMode = InsertionMode.Replace, 
                       LoadingElementId = "resultLoadingDiv", 

                      }, htmlAttributes: new { id = "Form2" })) 
    { 
     <table id="hor-minimalist-b"> 
      <tread> 
       <tr> 
        <th scope ="col">Report</th> 
        <th scope ="col">Filter</th> 
        <th scope ="col">Value</th> 
       </tr> 
      </tread> 
      @foreach (CROS1.Models.GetParams_Result res in Model) 
      { 

       <tbody> 
        <tr> 
         <td>@Html.DisplayTextFor(r => res.R_name) 
         </td> 
         <td>@Html.DisplayTextFor(r => res.Filter_name) 
         </td> 
         <td>@Html.EditorFor(r => res.Value) 
         @Html.ValidationMessageFor(r=>res.Value) 

         </td> 
         <td>@Html.DisplayFor(r => res.Unity) 
         </td> 
         @Html.HiddenFor(r=>res.F_id) 
         @Html.HiddenFor(r=>res.R_id) 
         @Html.HiddenFor(r=>res.Filter_id,new{id="some"}) 
         @Html.HiddenFor(r => res.F_name) 
         @Html.HiddenFor(r => res.Filter_name)*@ 
         @Html.HiddenFor(r=>res.DefaultValue) 
         @Html.HiddenFor(r=>res.Visibles) 
        </tr> 

       </tbody> 


      } 
     </table> 


     @* <input type="submit" id="submGetParams" />*@ 

    } 
</div> 

我应该在这种情况下做什么?该模型如何能够执行此类验证?

回答