【发布时间】:2015-04-18 13:01:05
【问题描述】:
我有一个包含几个视图组件的网页,当我单击这些组件时,我会为其打开一个简单的编辑器,见下图。如果我编辑文本并按回车键,我想重新渲染视图组件而不是孔页。是否可以使用 javascript 调用视图组件来获取此行为?
【问题讨论】:
我有一个包含几个视图组件的网页,当我单击这些组件时,我会为其打开一个简单的编辑器,见下图。如果我编辑文本并按回车键,我想重新渲染视图组件而不是孔页。是否可以使用 javascript 调用视图组件来获取此行为?
【问题讨论】:
通过更新,您现在应该可以使用 asp.net 核心来执行此操作。你可以从 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 中这样做(也许它们会从 View 到那里,到视图组件等)。
【讨论】:
这在今天是不可能的,但是如果您愿意,您可以为视图组件构建一个标准代理(类似地,您可以为部分视图构建一个代理)。例如你是一个动作的包罗万象的属性路由。
【讨论】: