使用javascript调用ViewComponent

使用javascript调用ViewComponent,javascript,asp.net-core,Javascript,Asp.net Core,我有一个带有几个视图组件的网页,当我点击这些组件时,我会打开一个简单的编辑器,如下图所示。如果编辑文本并按enter键,我希望重新渲染视图组件,而不是孔页面。是否可以使用javascript调用视图组件来获得此行为 这在今天是不可能的,但如果愿意,您可以为viewcomponents构建标准代理(类似地,您也可以为部分视图构建代理)。e、 g.您可以在一个操作上创建一个catchall属性路由。通过更新,您现在应该可以使用asp.net core完成此操作。您可以从IActionResult返回

我有一个带有几个视图组件的网页,当我点击这些组件时,我会打开一个简单的编辑器,如下图所示。如果编辑文本并按enter键,我希望重新渲染视图组件,而不是孔页面。是否可以使用javascript调用视图组件来获得此行为


这在今天是不可能的,但如果愿意,您可以为viewcomponents构建标准代理(类似地,您也可以为部分视图构建代理)。e、 g.您可以在一个操作上创建一个catchall属性路由。

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

[Route("text-editor")]
public IActionResult TextEditor()
{
    return ViewComponent("TextEditorViewComponent");
}
然后,可以从您的视图中调用以下内容:

function showTextEditor() {
    // Find the div to put it in
    var container = $("#text-editor-container");
    $.get("text-editor", function (data) { container.html(data); });
 }
如果需要将参数传递给ViewComponent,可以在IActionResult中执行此操作(可能它们会从视图慢慢传递到视图组件,等等)