使用javascript调用ViewComponent

时间:2015-02-17 18:10:20

标签: javascript asp.net-core

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

enter image description here

2 个答案:

答案 0 :(得分:1)

今天这是不可能的,但如果您愿意,可以为viewcomponents构建标准代理(类似地,您可以为部分视图构建代理)。例如你是行动的一个属性路线。

答案 1 :(得分:1)

通过更新,您现在应该能够使用asp.net核心执行此操作。你可以从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到那里,再到视图组件等)。