刷新部分视图中的表

时间:2015-08-31 15:28:25

标签: javascript jquery asp.net asp.net-mvc asp.net-mvc-4

在将逻辑应用到我的实际项目之前,我试图从一个空白的MVC项目(没有身份验证)中创建一些代码块,但我似乎无法做到这一点。我试图在局部视图中有一个表,以便在每个特定的时间段内重新加载/刷新/更新自己,这样它就会反映出在其他网页/浏览器中发生的任何更改。

每隔几秒就会激活一个函数的代码片段,但渲染/刷新是它变得模糊的地方。我一直在关注这个例子而没有运气(Refresh Partial View Div in MVC 5)。

这是我的代码: 视图(Index.cshtml)

@{
    ViewBag.Title = "Index";
}
<h2>Index</h2>
<p>
    @Html.ActionLink("Create New", "Create")
</p>
<div id="peopletablediv">
    @{ Html.RenderAction("Person");}
</div>

部分视图(Person.cshtml)     @model IEnumerable

<table class="table">
    <tr>
        <th>
            @Html.DisplayNameFor(model => model.Name)
        </th>
        <th></th>
    </tr>

    @foreach (var item in Model)
    {
        <tr>
            <td>
                @Html.DisplayFor(modelItem => item.Name)
            </td>
            <td>
                @Html.ActionLink("Edit", "Edit", new { id = item.Id }) |
                @Html.ActionLink("Details", "Details", new { id = item.Id }) |
                @Html.ActionLink("Delete", "Delete", new { id = item.Id })
            </td>
        </tr>
    }
</table>

控制器(PeopleController.cs)

public class PeopleController : Controller
{
    private WebApplication1Context db = new WebApplication1Context();

    // GET: People
    public ActionResult Index()
    {
        return View();
    }

    public ActionResult Person()
    {
        return PartialView(db.People.ToList());
    }
}

JavaScript(仅在我测试时才在index.cshtml中)

@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
<script type="text/javascript">
    $(document).ready(function () {
        var url = '@Url.Action("Person")';
        var div = $("#peopletablediv");
        setInterval(function () {
            div.load(url);
        }, 2000);
    });
</script>

我在asp.net MVC和Web开发方面只有几个月的经验。我会在哪个部分出错?

0 个答案:

没有答案