我正在使用mvc 6,我想打开"打开"使用onClick上的某个按钮组件视图。
我可以使用
显示它<div id="DialogDiv">
@Component.Invoke("MyComponent");
</div>
但我想这样做,以便一些按钮onclick方法将调用该invoke方法并将该div作为参考。这可能吗?
答案 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);
});