刷新MVC部分视图

时间:2013-12-23 06:36:44

标签: asp.net-mvc razor asp.net-mvc-partialview

我想每隔30秒刷新一次局部视图。

@{
ViewBag.Title = "Index";
}

<h2>Inbox</h2>

@Html.Partial("_Inbox")

这是我的部分观点

@model IList<Empite.Echo.Repository.Query.SubscriberMessageResult>

<table>
@foreach (var message in Model)
{
<tr>
    <td>@message.Message</td>
    <td>@message.IsRead</td>
    <td>@message.MessageGuid</td>
</tr>
}
</table>

2 个答案:

答案 0 :(得分:0)

将您的部分包裹在div容器中

@{
ViewBag.Title = "Index";
}

<h2>Inbox</h2>
<div id="partialContainer">
   @Html.Partial("_Inbox")
</div>

然后,您需要在控制器上创建一个返回PartialViewResult的操作,例如,

public ActionResult ActionThatReturnsPartialResult(){
    return Partial();
}

然后使用JavaScript刷新

setInterval(function(){
 $('#partialContainer').load('@Url.Action("ActionThatReturnsPartialResult","SomeController")' + '?id=' + id+ '&status=' + status);
}, 30000);

如果要将模型传递给Partial控制器,可以使用jQuery load方法的数据重载

来实现

答案 1 :(得分:0)

尝试代码

Loanpartial是Div

帐户:控制器

注册是查看和操作

Jquery的:

$(document).ready(function(){
             refr();
 });`     

 function refr() {      
    var intervalss = setInterval(refnew, 30000);
    function refnew() {
        $("#Loanpartial").load("/Account/Register");
    }
}