私はasp.netのmvc5を使用しています。私はサイトの右側のパネル(レイアウト)にメニューを作成します。ユーザーがメニュー項目をクリックすると、更新ページなしでページを読み込みます。これを行うには、私はAjax.ActionLink
を使用します。ajaxを使用して表示するにはどのようにリダイレクトするのですか?
<aside class="right-panel flexcol">
<button class="accordion">Hotels</button>
<div class="sub-panel flexcol">
@Ajax.ActionLink("View Hotels", "Index", "Hotel", null, new AjaxOptions { HttpMethod = "get", UpdateTargetId = "pageContent" }, new { @class = "sub-menu" })
@Ajax.ActionLink("HotelType", "Index", "HotelType", null, new AjaxOptions { HttpMethod = "get", UpdateTargetId = "pageContent" }, new { @class = "sub-menu" })
</div>
と呼び出し 'ニューホテル' のページのために、私は適切にこれらの作品
@Ajax.ActionLink("Create Hotel", "Create", "Hotel", null, new AjaxOptions { HttpMethod = "get", UpdateTargetId = "pageContent" }, new { @class = "bluelink" })
を使用しています。 問題:作成ページを送信すると、このページがコントローラに送信され、モデルが有効でないデータを入力した場合は、レイアウトとCSSのないページを作成するページにリダイレクトされます。私の意見で
@model ... Models.Hotel
@{
ViewBag.Title = "Create";
Layout =null;
}
コントローラ
public ActionResult Create()
{
return PartialView();
}
[HttpPost]
public ActionResult Create(Hotel model)
{
if (!ModelState.IsValid)
{
return PartialView(model);
}
ApplyToDataBase(model, "uspInsertHotel");
return RedirectToAction("Index");
}