当我在“审查”页面上回发时,我会检查模型状态并根据结果重新显示页面或继续。我有两个问题。
当它验证失败时,它会挂起部分视图,它在页面的原始获取上加载得很好。
编辑:这是由 [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 & 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>