在mvc3中自动刷新div ASP.Net无法正常工作

时间:2012-06-30 21:12:29

标签: asp.net-mvc

ViewData.cshtml(部分视图) 这是部分视图

<table id="users" class="ui-widget ui-widget-content" width="100%" align="center">
    <thead>
        <tr class="ui-widget-header ">
            <th width="30%" align="center">Date</th>
            <th width="30%" align="center">Bill Amount</th>
            <th width="30%" align="center">PayNow</th>

        </tr>
    </thead>
    <tbody>
        @{
            for (int i = @Model.bill.Count - 1; i >= 0; i--)
            {
            <tr>
                <td width="30%" align="center">@Model.billdate[i]</td>
                <td width="30%" align="center">@Model.bill[i]</td>
                <td width="30%" align="center">                    
                    <a class="isDone" href="#" data-tododb-itemid="@Model.bill[i]">Paynow</a>
                </td>
            </tr>
            }
        }
    </tbody>
</table>

Index.cshtml(查看) 这是我的观点

<script type="text/javascript">
$(document).ready(function () {
    window.setInterval(function () {
        var url = '@Url.Action("ShowScreen", "Home")';
        $('#dynamictabs').load(url)
    }, 9000);
    $.ajaxSetup({ cache: false });
});
</script>
<div class="dynamictabs">
    @Html.Partial("ShowScreen")
</div>

HomeController.cs(控制器) 这是家庭控制器

public ActionResult Index()
{
   fieldProcessor fp= new fieldProcessor();
   return View(fp);
}

public ActionResult ShowScreen()
    {
        return View();
    }

fieldProcessor.cs 我的模特

public class fieldProcessor 
{
    public List<int> bill { get; set; }
    public List<string> billdate { get; set; }
}

Still Div没有得到更新。

2 个答案:

答案 0 :(得分:1)

这一行:

$('#dynamictabs').load(url)

应该是:

$('.dynamictabs').load(url)

...因为你的div有一个的dynamictabs,而不是id。

答案 1 :(得分:0)

它可以用于一些代码更改:

1)像greg84说:

这一行:

$('#dynamictabs').load(url)

应该是:

$('.dynamictabs').load(url)

2)你的控制器应该是这样的:

  public ActionResult ShowScreen()
    {
        fieldProcessor fp = new fieldProcessor();
        /*Load fieldProcessor object*/

        return View(fp);
    }
  public ActionResult Index()
    {
        fieldProcessor fp = new fieldProcessor();
        /*Load fieldProcessor object*/
        return View(fp);
    }

3)ShowScreen和Index应该是强类型视图:

@model YourApp.Models.fieldProcessor

4)当您的代码调用局部视图时,您应该传递模型,如下所示:

<div class="dynamictabs">
    @Html.Partial("ShowScreen",Model)
</div>