我有一个普通视图,里面有两个视图组件。普通视图也有一个按钮,两个视图组件也有一个按钮。
如何在普通视图中点击按钮后刷新视图组件? 以及如何在从第一个视图组件中单击按钮后刷新第二个视图组件?
我已经试图找到一种方法,但没有成功!
祝你好运
答案 0 :(得分:0)
当razor执行该代码时,最终查看组件会生成HTML标记。如果您想更新HTML页面的某些部分(就像部分页面更新),您可以考虑使用jQuery和ajax来实现这一点。
像这样。
$(function(){
$("#SomeButton").click(function(e){
e.preventDefault();
//make the ajax call and get new data/markup for the
// div rendered by your first view component and update it
var url="TheUrlToActionMethodWhichReturnsPartialMarkup";
$("#DivIdA").load(url);
});
});
您也可以为更新页面的其他部分(视图组件2生成的标记)执行相同的操作。将url更新为返回部分视图结果的action方法。
答案 1 :(得分:0)
我试过了:
`$("#buttonrefresh").on("click", function () {`
`$.ajax({`
`type: "GET",`
`url: '@Url.Action("VCTest")'`
`(function (result) {`
`$("#show").html(result);`
`});`
`});`
此脚本用于在普通视图中单击按钮后刷新一个视图组件。 VCTest是视图组件的名称。 show是调用视图组件的div的名称。