사용자가 내 전자 메일 뉴스 피드에 가입 할 수있는 부분보기가있는 세로 막대가있는 블로그가 있습니다. 내가하려는 것은 데이터를 게시 한 후 사용자가 보낸 페이지로 사용자를 되돌려 보내고 유효성 검사를 표시하거나 양식의 부분보기에 메시지를 반환하는 것입니다.데이터를 부분보기로 되 돌리는 중
문제는 내 부분보기가 레이아웃이없는 새 창에서 열리는 것입니다. 사이드 바에 반환 데이터가있는 내 블로그로 돌아가려면 어떻게 수정해야합니까?
@using Blog.Models.Entities
@model Subscriber
<header>
<h2>Subscribe</h2>
</header>
<p>Subscribe to my e-mail newsfeed.</p>
@using (Html.BeginForm("Form", "Subscription"))
{
<div class="editor-label">@Html.LabelFor(subscriber => subscriber.Email)</div>
<div class="editor-field ">@Html.EditorFor(subscriber => subscriber.Email)</div>
@Html.ValidationMessageFor(subscriber => subscriber.Email)
<input type="submit" value="Subscribe" />
<p>@ViewBag.Result</p>
}
그리고 데이터를 처리하는 컨트롤러 관련 상품 : :
이
내 볼 수있는 양식을 제출하면public ActionResult Form()
{
return PartialView("_Form");
}
[HttpPost]
public ActionResult Form(Subscriber subscriber)
{
if (ModelState.IsValid)
{
Subscriber foundSubscriber = _repository.Subscribers.Where(s => s.Email.Equals(subscriber.Email)).FirstOrDefault();
if (foundSubscriber != null)
{
ModelState.AddModelError("Email", "This e-mail address has already been added.");
return PartialView("_Form", subscriber);
}
_repository.SaveSubscriber(subscriber);
ViewBag.Result = "Succesfully subscribed to the newsletter.";
return PartialView("_Form");
}
ModelState.AddModelError("Email", "Please provide a valid e-mail address.");
return PartialView("_Form", subscriber);
}
새 창이 열리는 곳은 어디입니까? 귀하의 부분에 링크 된 코드가 표시되어 있지 않습니다. –
약간의 실수를 저지른 것을 알았지 만 "return PartialView"를 사용하면 부분 뷰가 응용 프로그램 대신 레이아웃없이 렌더링됩니다. –