【问题标题】:Ajax within editor template编辑器模板中的 Ajax
【发布时间】:2018-12-31 00:39:44
【问题描述】:

我对使用 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 不显眼的引用。

提前谢谢你!

【问题讨论】:

  • 嵌套表单是无效的 html,不受支持。

标签: c# asp.net-mvc mvvm asp.net-core asp.net-ajax


【解决方案1】:

为了解决这个问题,正如斯蒂芬指出的那样,我删除了嵌套的表单引用。我还专门为编辑器模板中的提交按钮指定了一个 URL 操作。

像这样

&lt;input type="submit" formaction="@Url.Action("CreateCtrlOption")" id="ctrlOptionSubmit" value="Create" class="btn btn-default" /&gt;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-08
    • 2014-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多