编辑器模板中的 Ajax

我对带有 Asp.net Core 2 的 MVVM / MVC 还很陌生。所以如果这是一个简单的问题,请原谅我。哈。


我在视图中有一个编辑器模板。基本上是表格中的表格。使用编辑器模板中的按钮提交时,我只想使用 AJAX 更新该模板。我似乎无法让它工作。是否可以?


<form asp-action="edit">


        //FORM FIELDS REMOVED FOR BREVITY


        <div class="hide" id="selectListItems">

            @Html.EditorFor(model => model.ovm.opt, "CreateCtrlOption")

        </div>


        <div class="form-group">

            <input type="submit" value="Save" class="btn btn-default" />

        </div>

    </form>

编辑器模板:


 <form asp-controller="ctrls" asp-action="CreateCtrlOption" data-ajax="true" 

data-ajax-method="POST" data-ajax-success="onSuccess" data-ajax-update="divOpts">

        <div asp-validation-summary="ModelOnly" class="text-danger"></div>

        <input type="hidden" name="CtrlId" id="CtrlId" value="@ViewBag.ctrlId" />


        <div class="form-group">

            <label asp-for="Value" class="control-label"></label>

            <input asp-for="Value" class="form-control" name="Value" />

            <span asp-validation-for="Value" class="text-danger"></span>

        </div>

        <div class="form-group">

            <input type="submit" value="Create" class="btn btn-default" />

        </div>

    </form>

除了onSuccess方法之外,我还需要其他任何 javascript 才能工作吗?


我确实有 ajax 不显眼的引用。


先感谢您!


大话西游666
浏览 173回答 1
1回答

隔江千里

为了解决这个问题,正如斯蒂芬指出的那样,我删除了嵌套的表单引用。我还专门为编辑器模板中的提交按钮指定了一个 URL 操作。像这样<input type="submit" formaction="@Url.Action("CreateCtrlOption")" id="ctrlOptionSubmit" value="Create" class="btn btn-default" />
打开App,查看更多内容
随时随地看视频慕课网APP