我有一个包含几个 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组件,等等)。