부분보기가 양식을 포함하고 있으며이 부분보기는 다른 양식과 HTML을 포함하는보기에 있습니다.
제출을 누르면 유효성 검사가 실패하면 원본 URL 대신이 부분보기 양식 작업이 URL에 표시됩니다.부분보기 컨테이너보기 동작 대신 URL에 해당 동작을 표시합니다.
부모보기 "사용자 계정" - 부분보기 로그인 - 부분보기를 등록
원래 URL 열려있는 페이지가있는 경우 :/사용자/계정
레지스터 유효성 검사가 실패 URL :/사용자/회원 가입
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<PicGhost.Website.ViewModels.RegisterViewModel>" %>
<% using (Html.BeginForm("Register", "Users", FormMethod.Post)) {%>
<%: Html.ValidationSummary(true) %>
<fieldset>
<legend>Fields</legend>
<div class="editor-label">
<%: Html.LabelFor(model => model.UserName) %>
</div>
<div class="editor-field">
<%: Html.TextBoxFor(model => model.UserName) %>
<%: Html.ValidationMessageFor(model => model.UserName) %>
</div>
<div class="editor-label">
<%: Html.LabelFor(model => model.Email) %>
</div>
<div class="editor-field">
<%: Html.TextBoxFor(model => model.Email) %>
<%: Html.ValidationMessageFor(model => model.Email) %>
</div>
<div class="editor-label">
<%: Html.LabelFor(model => model.Password) %>
</div>
<div class="editor-field">
<%: Html.PasswordFor(model => model.Password)%>
<%: Html.ValidationMessageFor(model => model.Password) %>
</div>
<div class="editor-label">
<%: Html.LabelFor(model => model.ConfirmPassword) %>
</div>
<div class="editor-field">
<%: Html.PasswordFor(model => model.ConfirmPassword) %>
<%: Html.ValidationMessageFor(model => model.ConfirmPassword) %>
</div>
<p>
<input type="submit" value="Register" />
</p>
</fieldset>
<% } %>
그리고 등록 조치 : :
여기 내 부분이다 [HttpPost]
public ActionResult Register(RegisterViewModel model)
{
if (ModelState.IsValid)
{
IUser user = _factory.CreateUser(model.UserName, model.Email, model.Password);
UserRepository.Add(user);
return RedirectToAction("Index");
}
return View(model);
}
어떻게이 잘못된 URl을 표시하지 않고 원본 URL을 유지 하시겠습니까?
원본 URL :
검증 URL 후 :
정확히 내가 쓴 예제에서했던 것과 똑같은 결과를 얻었지만, 내 질문과 같은 결과를 얻었습니다. (문제의 위치를 알고 있습니까? –
) 메서드의 마지막 줄과 Register 메서드를 호출하기 때문에 – Josh
아니요,이 뷰로 변경했습니다. View ("view"()); Account ", parentModel); 답안에 나열한대로 –