在MVC 3中刷新部分视图

Ste*_*nTN 1 partial-views partial-page-refresh asp.net-mvc-3

我有一个部分视图,我已经包含在我的_Layout.cshtml中.它只是有一个javascript函数,可以根据我的系统状态更改图像.我不需要重新加载任何数据,我不需要去任何控制器的代码,我只需要重新加载该部分视图.

我尝试了很多我在这里找到的例子但却无法使用它们.无论如何,我觉得他们似乎太复杂了.任何指导将不胜感激.

谢谢,

史蒂夫

kpr*_*bst 6

如果部分直接加载到布局中,那么没有简单的方法来刷新它,因为它基本上是完整渲染页面的一部分.

您最好的选择是$.load通过按下控制器方法并将结果呈现为容器(如div)来呈现部分使用或任何可用的等效项.你必须在一个加载了布局本身的脚本中,通过观察document.ready或类似的东西来做这个.一旦你有了这个,那么通过按照你需要多次点击控制器方法来保持重新加载或刷新内容是微不足道的.例如在jQuery中:

$(document).ready(function () {
    RefreshPartial();
    window.setInterval(RefreshPartial, 10000);
});

function RefreshPartial() {
    $('#container').load('/some/controller/endpoint', {parameters});    
}
Run Code Online (Sandbox Code Playgroud)

这将调用控制器方法,并设置标识的元素的内部内容#container.您可以RefreshPartial根据需要多次拨打电话.