Cześć, mam pewien problem z zapamiętywaniem danych w formularzu. Przedstawię kod:
Kontroler :
[HttpGet]
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(User user)
{
return View(user);
}
public ActionResult DoSmth()
{
return RedirectToAction("Index");
}
Oraz widok do metody Index:
@model AspMvc.Models.User
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<body>
@using (Html.BeginForm("Index", "Sayhello", FormMethod.Post))
{
<table cellpadding="0" cellspacing="0">
<tr>
<th colspan="2" align="center">Person Details</th>
</tr>
<tr>
<td>Name: </td>
<td>
@Html.TextBoxFor(m => m.Name)
</td>
</tr>
<tr>
<td>Last Name: </td>
<td>
@Html.TextBoxFor(m => m.LastName)
</td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Submit" /></td>
</tr>
</table>
}
</body>
<button type="button" class="btn btn-info btn-lg" data-toggle="modal" data-target="#myModal">Open Modal</button>
<!-- Modal -->
<div id="myModal" class="modal fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Modal Header</h4>
</div>
<div class="modal-body">
@using (Html.BeginForm("DoSmth", "Sayhello", FormMethod.Post))
{
<table cellpadding="0" cellspacing="0">
<tr>
<th colspan="2" align="center">Person Details</th>
</tr>
<tr>
<td>Name: </td>
<td>
@Html.TextBoxFor(m => m.Name)
</td>
</tr>
<tr>
<td>Last Name: </td>
<td>
@Html.TextBoxFor(m => m.LastName)
</td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Submit" /></td>
</tr>
</table>
}
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
Teraz istota problemu (dla okna modalnego wprowadziłem jakiś tam formularz - nieważne jaki). W przypadku gdy uzupełnię pola Name oraz LastName i następnie wywołam akcję "Open Modal" otwierającą okno modalne w bootstrapie A następnie w oknie modalnym uzupełnię dodatkowy formularz zatwierdzając akcją "Confirm" - przenosi mnie do metody DoSmth w kontrolerze Sayhello - do tego momentu jest okej. Ale teraz z metody DoSmth chcę przejść do metody Index (lub inaczej : wrócić do poprzedniego okna (tego głównego)), lecz gdy w metodzie DoSmth zwrócę RedirectToAction("Index") to faktycznie przenosi mnie do metody get Index (jeśli dobrze myślę to zamiast do metody get, powinno przekierować do metody post?), lecz usuwa dane wprowadzone w formularzu (tym głównym). Czy jest jakaś możliwość by po uzupełnieniu pól Name oraz LastName w oknie głównym, otwarciu okna modalnego i wykonaniu w nim jakiejkolwiek akcji wrócić do poprzedniego formularza (metoda Index), ale z wprowadzonymi wcześniej danymi?