내 컨트롤러에서 다른보기를 반환하려고합니다. 그러나 올바른보기가 표시 되더라도 URL은 동일하게 유지됩니다.동일한 컨트롤러의 다른보기를 반환 할 때 URL이 동일하게 유지됩니다.
내 양식은 /Company/Create
입니다.
@using (Html.BeginForm("Create", "Company", FormMethod.Post))
{
// Form here
}
그래서 기본적으로 양식과 모델은 /Company/Create
액션으로 제출됩니다. 제출 된 모델이 유효하면, 나는 데이터를 처리하고 내가 올바른보기는하지만 표시됩니다 말했듯이
return View("Index");
으로/회사 소개/인덱스보기로 리디렉션, URL (주소 표시 줄)은 여전히 http://.../Company/Create
입니다 나도 시도했다 RedirectToAction("Index");
그것은 또한 작동하지 않는다. 그리고 좋은 MVC 실천을 생각하지 않습니다. 하나의 레이아웃이 있고 회사보기가 렌더링됩니다 RenderBody()
아이디어가 있으십니까?
감사합니다.
편집 :
이 내 행동 방법, 당신은 변경된 URL을 원하는 경우 다른 조치로 리디렉션 할 필요가
[HttpPost]
public ActionResult Create(CompanyCreate model)
{
/* Fill model with countries again */
model.FillCountries();
if (ModelState.IsValid)
{
/* Save it to database */
unitOfWork.CompanyRepository.InsertCompany(model.Company);
unitOfWork.Save();
RedirectToAction("Index");
return View();
}
// If we got this far, something failed, redisplay form
return View(model);
}
당신이 작업에 대한 전체 코드를 게시 할 수 있습니까? return view는 url을 변경하지 않을 것입니다.하지만 redirecttoaction이 여러분이 기대하는 것을하지 않는다는 것에 놀랐습니다. 더블 포스트에 도움이 될 것입니다. – RubbleFord
액션 코드를 comment.added 해 주셔서 감사합니다. 덕분에 –