Ho un'applicazione ASP.NET MVC che visualizza un elenco di elementi. A mio avviso ciclo Vorrei sulle voci e rendere ogni elemento con vista parziale, in questo modo:Html.HiddenPer associazione a elemento errato
@foreach(var item in Model.items)
{
<li>
@Html.Partial("ItemView", item)
</li>
}
Nella vista voce, io avvolgere ogni elemento con un modulo che ha un pulsante 'Elimina', in questo modo:
@using(Html.BeginForm(...))
{
@Html.HiddenFor(m=>m.Id)
<label>@Model.Name (@Model.Id)</label>
<input type="submit" value="Delete"/>
}
gli articoli sono reso correttamente, la pagina risultante ha una bella lista di tutti gli elementi con i loro nomi propri e ID visualizzati.
EDIT: Lo stesso accade con @Hidden, apparentemente, contrariamente a quanto ho scritto prima.
Inoltre, ciò accade solo la seconda volta che il modulo viene visualizzato (ovvero, dopo aver fatto clic su uno dei pulsanti Elimina), la prima volta che tutto funziona correttamente. I miei metodi di azione sono:
public ActionResult AllItems()
{
var model = new AllItemsModel();
return PartialView(model);
}
public ActionResult Delete(DeleteModel model)
{
.... Perform the delete ...
return PartialView("AllItems", new AllItemsModel());
}
Perché sta succedendo?
Wow, osservazione eccellente. Controllerò, penso di non averne uno. – zmbq
Il tuo primo suggerimento non era corretto, ma il tuo secondo sembra promettente. Peccato non posso fare +1 su due volte ... lo controllerò. – zmbq
Sì, era esattamente così. Molte grazie! – zmbq