Ho la seguente vista indice:Html.RenderPartial e Ajax.BeginForm -> Invia viene chiamato due volte
@model BoringStore.ViewModels.ProductIndexViewModel
@{
ViewBag.Title = "Index";
}
<h2>Produkte</h2>
<div id='addProduct'>
@{ Html.RenderPartial("Create", new BoringStore.Models.Product()); }
</div>
<div id='productList'>
@{ Html.RenderPartial("ProductListControl", Model.Products); }
</div>
La "Lista prodotti" è solo un elenco di tutti i prodotti.
L'addProduct rende la mia Crea Vista:
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>
<div id="dialog-confirm" title="Produkt hinzufügen" style="display:none">
@using (Ajax.BeginForm("Index_AddItem", new AjaxOptions { UpdateTargetId = "productList" }))
{
@Html.Raw(DateTime.Now.ToString());
<div>
@Html.LabelFor(model => model.Name)
@Html.EditorFor(model => model.Name)
</div>
<br />
<div>
@Html.LabelFor(model => model.Price)
@Html.EditorFor(model => model.Price)
</div>
<br /><br />
<div>
<input type="submit" value="Produkt hinzufügen" />
</div>
}
Quando l'invio del modulo, l'Index_AddItem metodo nel mio controller si chiama. Sfortunatamente il modulo chiama sempre il metodo due volte. :(
Qualcuno può darmi una mano?
Hai ragione, l'ho inserito due volte. :( – mosquito87
Cosa succede se si dispone di un collegamento Ajax all'interno di una vista parziale? La prima inclusione di jquery.unobstrusive-ajax non registra il collegamento. – allenylzhou
Ho avuto il jquery- {versione} .js due volte nel mio BundleConfig - una volta sotto il mio jquery bundle e una volta sotto ajax bundle.Questo mi ha causato lo stesso problema.Ma grazie per avermi messo sulla giusta via! – Arwin