0

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

当它验证失败时,它会挂起部分视图,它在页面的原始获取上加载得很好。

编辑:这是由 [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 { public override bool IsValid(object value) { return value != null && (bool)value; } }

看法

@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>
4

1 回答 1

1

您是否需要在发布返回时设置 ReleaseScoreIndicator?看起来它为初始 GET 设置了,但随后的一个,它没有设置。视图是否使用该属性?

于 2012-08-07T19:02:43.107 回答