Mam następujący widok indeksu:Html.RenderPartial i Ajax.BeginForm -> Prześlij nazywa dwukrotnie
@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>
W „productList” jest tylko lista wszystkich produktów.
addProduct czyni moje Utwórz widok:
<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>
}
Składając formularz, Index_AddItem-metoda w moim kontroler jest tzw. Niestety, formularz zawsze wywołuje metodę dwukrotnie. :(
Czy ktoś może mi pomóc?
Masz rację - dodałem to dwa razy. :( – mosquito87
Co zrobić, jeśli masz łącze Ajax wewnątrz częściowego widoku? Pierwsze włączenie jquery.unobstrusive-ajax nie rejestruje linku – allenylzhou
Miałem jquery- {version} .js dwa razy w moim BundleConfig - raz pod moim pakiet jquery i raz pod pakietem ajax To spowodowało ten sam problem dla mnie, więc dziękuję za umieszczenie mnie na właściwej ścieżce! – Arwin