2012-08-07 56 views
0

当我在我的“评论”页面回发时,我检查模型状态并根据结果重新显示页面或继续。我有两个问题。回传问题

当验证失败时,它在部分视图上挂起,它在原始get页面上正确加载。

编辑:这是由[HttpGet]属性应用于部分视图的方法引起的。我删除了属性和部分重新调整。

如果我注释掉部分,那么整个页面没有任何CSS样式,这些都是黑白文字。 编辑:我仍然有样式从页面

[HttpGet] 
    public ActionResult Review() 
    { 
     var agmtsService = new AgreementsService(); 
     bool? scoreRelease = agmtsService.GetReleaseScoreIndicator(); 

     var vm = new ReviewModel {ReleaseScoreIndicator = scoreRelease}; 

     return View(vm); 
    } 




    [HttpPost] 
    public ActionResult Review(ReviewModel model) 
    { 

     if(!ModelState.IsValid) 
     { 
      return View(model);`**This is displaying the view w/o head section and no css**` 
     } 

     return RedirectToAction("CheckOut", "Financial"); 
    } 

编辑丢失问题:

视图模型

公共类ReviewModel {

public bool? ReleaseScoreIndicator { get; set; } 


    // Terms & Conditions 
    [RequiredToBeTrue(ErrorMessage = "Eligibility Checkbox must be checked.")] 
    public bool TermsEligibility { get; set; } 

    [RequiredToBeTrue(ErrorMessage = "True and Accurate Checkbox must be checked.")] 
    public bool TermsAccurate { get; set; } 

    [RequiredToBeTrue(ErrorMessage = "Identity Release Checkbox must be checked.")] 
    public bool TermsIdentityRelease { get; set; } 

    [RequiredToBeTrue(ErrorMessage = "Score Release Checkbox must be checked.")] 
    public bool TermsScoreRelease { get; set; } 

}

公共类RequiredToBeTrueAttribute:RequiredAttribute标签 { 公共覆盖BOOL的IsValid(对象值) { 返回值=空& &(布尔)值; }}

查看

@model Registration.Web.Models.ReviewModel 

@{ 
    ViewBag.DisableNavigation = true; 
} 
<script type="text/javascript"> 
    $(document).ready(function() { 
     $('.open_review').toggle(function() { 
      $(this).text('Done').parents('.review_section').addClass('open_for_review').find('.review_content').slideDown('fast'); 
      return false; 
     }, function() { 
      $(this).text('Review').parents('.review_section').removeClass('open_for_review').find('.review_content').slideUp('fast'); 
      return false; 
     }); 


    }); 



</script> 

<div class='section module'> 
      <h2> 
      Please Review Your Application 
      </h2> 
      <p> 
      Remember that your application fee is 
      <strong> 
       not refundable. 
      </strong> 
      Review your information below and make corrections before submitting. 
      </p> 
      <div class='review_section'> 
      <a class="button open_review" href="#">Review</a> 
      <h4> 
       Identification 
      </h4> 
      @{Html.RenderAction("Review", "PersonalInformation");} 
      </div> 
      <div class='review_section'> 
      <a class="button open_review" href="#">Review</a> 
      <h4> 
       Education 
      </h4> 
      @{Html.RenderAction("Review", "MedicalEducation");} /////hangs here   
      </div> 
      <div class='review_section'> 
      <a class="button open_review" href="#">Review</a>        
       @{Html.RenderAction("Review", "PostGraduate");}////then hangs here 
      </div> 
      </div> 
      <div class='actions' id='terms_and_conditions'> 






@using (Html.BeginForm("Review", "Agreements", FormMethod.Post)) 
{ 

    //"reviewForm","Agreements", FormMethod.Post 

    @Html.ValidationSummary(true) 


    <div class='group' id='data_release'> 
     <h4> 
      Data Release 
     </h4> 

     <p> 
      Do you wish to release your scores? 
     </p> 
     <ul class='input_group'> 
      <li> 
       @Html.RadioButtonFor(model => model.ReleaseScoreIndicator, true) 
       <label> 
        Yes 
       </label> 
      </li> 
      <li> 
       @Html.RadioButtonFor(model => model.ReleaseScoreIndicator, false) 
       <label> 
        No 
       </label> 
      </li> 
     </ul> 



    </div> 











       <div class='group' id='terms'> 
        <h4> 
         Terms &amp; Conditions 

        </h4> 
        @Html.ValidationSummary(false) 

       <table> 
       <tbody> 
        <tr> 
         <th> 
          @Html.CheckBoxFor(x => x.TermsEligibility) 
         @* @Html.CheckBox("terms_eligibility")*@ 

         </th> 
        <td> 
         <label for='terms_eligibility'> 
         I currently meet all of the 
         <a href="" target="_blank"> requirements</a> 
         and have read the 
         <a href="" target="_blank">Information</a> 
         </label> 
        </td> 
        </tr> 
        <tr> 
         <th> 
          @Html.CheckBoxFor(x => x.TermsAccurate) 
         @* @Html.CheckBox("terms_accurate")*@ 

         </th> 
        <td> 
         <label for='terms_accurate'> 
         The information I've provided is true and accurate 
         </label> 
        </td> 
        </tr> 
        <tr> 
         <th> 
          @Html.CheckBoxFor(x => x.TermsIdentityRelease) 
         @* @Html.CheckBox("terms_identity_release")*@ 

         </th> 
        <td> 
         <label for='terms_identity_release'> 
         I authorize the release 
         </label> 
        </td> 
        </tr> 
        <tr> 
         <th> 
          @Html.CheckBoxFor(x => x.TermsScoreRelease) 
          @*@Html.CheckBox("terms_score_release")*@ 

         </th> 
        <td> 
         <label for='terms_score_release'> 
         I agree 
         </label> 
        </td> 
        </tr> 
       </tbody> 
       </table> 
      </div> 
       <div class='actions'> 


          <input type="submit" value="Go To Checkout" class="button" /> 




        <a class="button" onclick="getForMasterPage('@Url.Action("CheckOut", "Financial")', null);">BYPASS</a> 
       </div> 

} </div> 
+0

我们可以看到您的视图和视图模型吗? – Pluc 2012-08-07 19:04:54

回答

1

你需要设置被张贴回报ReleaseScoreIndicator?它看起来像是为最初的GET设置的,但后来的一个,它没有设置。该视图是否使用该属性?

+0

是的,我意外删除了该代码。我会将其添加回来,看看会发生什么 – 2012-08-07 19:05:43

+0

我为该发布添加了代码,它没有任何区别。我仍然得到相同的结果....它挂在MedEd部分。 – 2012-08-07 19:45:46

+0

Med部分中的哪条线会挂在?这个观点是什么样子的? – Josh 2012-08-07 19:49:23