ho qualcosa di simile:passare più parametri a Html.BeginForm MVC
public ActionResult Create(int clubid)
{
var club = db.Clubs.Single(c=>c.Id == clubid);
ViewBag.Club = club;
Competition comp = db.Competitions.Create();
return View(comp)
}
e nel mio .cshtml:
@Model Models.Competition
...
@Using(Html.BeginForm())
{
...
<input type="submit" value="Save" />
}
Questo funziona bene con la seguente azione del messaggio:
[HttpPost]
public ActionResult Create(Competition comp)
{
if (ModelState.IsValid){...}
return RedirectToAction(...);
}
Tuttavia, voglio passare un parametro aggiuntivo dall'oggetto @ViewBag.Club
:
[HttpPoSt]
public ActionResult Create(int clubid, Competition comp){...}
Come si codifica questo nello BeginForm
?
Grazie @Johan - ha funzionato a meraviglia. (Metodo 2). –
@Johan c'è qualche grande differenza tra il 2? – Vahx
@Io intendevo più lungo la linea di sicurezza, prestazioni o altro? è uno alla vecchia maniera o in un modo nuovo? – Vahx