已更改我的發佈說明因爲我已閱讀「會話」是正確的使用方法。問題是,我發現使用會話很困難,因爲我之前從未使用它。使用會話將數據從視圖傳遞到其他視圖
我想鏈接我的文本框與模型,並將這些值輸入到另一個視圖,在另一個控制器上操作。我想要的只是顯示您在SeatController索引頁面中輸入的值,因此我稍後可以將它們用於我的預訂項目。
我已經走到這一步:含
- 的BookingController索引視圖
- 的SeatController包含另一個索引視圖
BookingController:
public class BookingController : Controller
{
// GET: Booking
[HttpGet]
public ActionResult Index()
{
var vm = new BookingModel();
return View(vm);
}
[HttpPost]
public ActionResult Index(BookingModel bookingModel)
{
if (ModelState.IsValid)
{
Session["SelectedValue"] = bookingModel;
return RedirectToAction("Index", "Seat", new { model = bookingModel });
}
return View(bookingModel);
}
}
BookingModel:
public class BookingModel
{
public string DepartureRoute { get; set; }
public string ReturnRoute { get; set; }
public DateTime DepartureDate { get; set; }
public DateTime ReturnDate { get; set;}
public int adults { get; set; }
public int childrens {get; set; }
}
指數(BookingController)
@model TestApplication.Models.BookingModel
@Session["SelectedValue"]
<div class="col-sm-9">
@using (Html.BeginForm())
{
<div class="col-sm-6">
<label>Outward route</label><br />
@Html.TextBoxFor(m => Model.DepartureRoute, new { @class = "textbox" })
<br />
<label>Departure date</label><br />
@Html.TextBoxFor(m => m.DepartureDate, new { @class = "textbox" })
<br />
<label>Adults:</label><br />
@Html.TextBoxFor(m => Model.DepartureRoute, new { @class = "textbox" })
</div>
<div class="col-sm-6">
<label>Return route</label><br />
@Html.TextBoxFor(m => Model.DepartureRoute, new { @class = "textbox" })
<br />
<label>Return date</label><br />
@Html.TextBoxFor(m => m.ReturnDate, new { @class = "textbox" })
<br />
<label>Childrens:</label><br />
@Html.TextBoxFor(m => Model.DepartureRoute, new { @class = "textbox" })
<br />
<label>Information:</label><br />
<button type="submit" class="button_continue">Continue</button>
</div>
}
</div>
的 「SeatController」 索引頁是這樣的:
指數(SeatController)
<div class="col-sm-12">
<label>Departure route</label><br />
@Html.DisplayFor(model => model.DepartureRoute)
<br />
<label>Return route</label><br />
@Html.DisplayFor(m => m.ReturnRoute);
<br />
<label>Departure date</label><br />
@Html.DisplayFor(m => m.DepartureDate);
<br />
<label>Return date</label><br />
@Html.DisplayFor(m => m.ReturnDate);
<br />
<label>Number of adults</label><br />
@Html.DisplayFor(m => m.adults);
<br />
<label>Number of childrens</label><br />
@Html.DisplayFor(m => m.childrens);
</div>
希望有人可以提供一個解決方案或一些指導方針如何做到這一點。
'返回RedirectToAction( 「結果」);'不模型傳遞到'Result'方法。在'Index()'POST方法中,將模型保存到存儲庫並將其ID(您似乎還沒有)傳遞給Result(int ID)方法 - 返回RedirectToAction(「Index」, new {ID = bookingModel.ID});'在Result()'方法中,獲取保存的模型並將其傳遞給'Result.cshtml'視圖。 –
好吧..我正在嘗試閱讀有關存儲庫的信息。 – Mikkel
更新了我的帖子 – Mikkel