从后面的代码打开组件视图

时间:2015-09-02 14:01:44

标签: asp.net-core-mvc

我正在使用mvc 6,我想打开"打开"使用onClick上的某个按钮组件视图。

我可以使用

显示它
<div id="DialogDiv">
   @Component.Invoke("MyComponent");
</div> 

但我想这样做,以便一些按钮onclick方法将调用该invoke方法并将该div作为参考。这可能吗?

1 个答案:

答案 0 :(得分:3)

我假设你想通过使用ajax请求来渲染组件。从MVC6-beta7开始,您可以通过使用View Component Action Result:

来完成此操作

请参阅:

https://github.com/aspnet/Mvc/issues/2338

https://github.com/aspnet/Mvc/releases/tag/6.0.0-beta7

您的方案的想法是在控制器中使用JavaScript并调用操作,该操作将返回 ViewComponentResult ,然后将该操作的结果呈现到您的页面中。你可以使用jQuery来做到这一点,所以它看起来像:

$.get("/YourController/YourAction",function(data){
    $("#DialogDiv").html(data);
});