コントローラーから別のビューを返そうとしています。ただし、正しいビューが表示されますが、URL は同じままです。
これが私の見えている形/Company/Create
です。
@using (Html.BeginForm("Create", "Company", FormMethod.Post))
{
// Form here
}
基本的に、フォームとモデルは/Company/Create
アクションに送信されます。提出されたモデルが有効な場合は、データを処理して /Company/Index ビューにリダイレクトします。
return View("Index");
おっしゃる通り正しいビューは表示されますが、URL(アドレスバー)はそのままですhttp://.../Company/Create
試しRedirectToAction("Index");
てみました それも動作しません。そして、それは良いMVCプラクティスだとは思いません。私は単一のレイアウトを持っており、会社のビューは次のようにレンダリングされますRenderBody()
何か案は ?
ありがとう。
編集 :
これが私のアクションメソッドです。
[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);
}