我有一个包含几个 View 组件的网页,当我单击这些组件时,会为其打开一个简单的编辑器,请参见下图。如果我编辑文本并按Enter键,我想重新渲染 View 组件而不是孔页面。是否可以使用javascript调用 View 组件以获取此行为?

最佳答案

通过更新,您现在应该可以使用asp.net core进行此操作。您可以从IActionResult返回ViewComponent,然后使用jQuery进行调用:

[Route("text-editor")]
public IActionResult TextEditor()
{
    return ViewComponent("TextEditorViewComponent");
}

然后,可以使用以下简单方法从您的 View 中调用此方法:
function showTextEditor() {
    // Find the div to put it in
    var container = $("#text-editor-container");
    $.get("text-editor", function (data) { container.html(data); });
 }

如果您需要将参数传递给ViewComponent,则可以在IActionResult中进行传递(也许它们从View到那里,再到View组件,等等)。

10-06 04:34