Ich habe folgende Indexansicht genannt:Html.RenderPartial und Ajax.BeginForm -> Submit zweimal
@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>
Die „product“ ist nur eine Liste aller Produkte.
Die addProduct machen meine Ansicht erstellen:
<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>
}
Wenn Sie das Formular absenden, die Index_AddItem-Methode in meinem Controller genannt wird. Leider ruft das Formular die Methode immer zweimal auf. :(
Kann mir jemand helfen?
Sie haben recht- Ich hatte es zweimal aufgenommen. :( – mosquito87
Was ist, wenn Sie einen Ajax Link in einer Teilansicht haben? Die erste Aufnahme von jquery.unobstrusive-ajax registriert den Link nicht. – allenylzhou
Ich hatte die jquery- {version} .js zweimal in meiner BundleConfig - einmal unter meiner jquery bundle und einmal unter ajax bundle.Dies verursachte das gleiche Problem für mich.So danke, dass Sie mich auf den richtigen Weg! – Arwin