【发布时间】:2021-07-16 04:56:43
【问题描述】:
我正在尝试从剃刀页面的 OnPost() 方法刷新 ViewComponent。使用以下代码从 razor 页面调用 ViewComponent 时,它正在正确加载:
@await Component.InvokeAsync("Menu", new { parameters... })
但是当从 OnPost() 方法的 Razor 页面代码调用时,它不起作用。我尝试按照 DontNet 教程进行操作,但无法重新加载 ViewComponent。我尝试调试代码,看方法是否调用了 InvokeAysnc() 方法,但没有调用。
这是我正在尝试的代码:
菜单视图组件
public class MenuViewComponent : ViewComponent
{
public IViewComponentResult Invoke(param1, param2, param3)
{
return View(new MenuModel() { set values... });
}
}
EditPage.cshtml.cs
public async Task<IActionResult> OnPostAsync()
{
//DO other operations
ViewComponent("Menu", new { param1, param2, param3 });
}
如果有人能指导我如何从 OnPost() 方法重新加载 ViewComponent,我将不胜感激。
【问题讨论】:
-
我们可能需要查看您的 HTML/Javascript。假设您要发回表单,请添加您的标记,以便我们查看发生了什么。
标签: c# asp.net-mvc asp.net-core razor