0

我想下一步更新一些 div 块->
我的更新视图:

    @Ajax.ActionLink("Show",
             "About",
             new AjaxOptions
             {
                 HttpMethod = "POST",
                 InsertionMode = InsertionMode.Replace,
                 UpdateTargetId = "updateMe"
             })
     <div id="updateMe"> </div>

我的控制器:

    int count  = 0;

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

    [HttpPost]
    public ActionResult About()
    {

        if (Request.IsAjaxRequest())
        {   
            count++;
            ViewBag.count  = count;
            return PartialView();
        }
        return RedirectToAction("Index");
    }

我的部分视图:

    <h1>Hellow from Partial View !  @ViewBag.count </h1>

我也在 .config 文件中有这个

      <add key="UnobtrusiveJavaScriptEnabled" value="true" />

和引用的库:

<script src="@Url.Content("~/Scripts/jquery-1.6.2.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>

预期:第一次点击:
局部视图中的 Hellow!1

第二:
局部视图你好!2

有:从局部视图你好!1

?

4

1 回答 1

2

每次请求都会再次初始化该类Controller,因此每次都会count重新初始化您的字段的值。你会想要“全球”拥有这个。一种方法是将其定义为static字段;但请注意,这可能会有一些意外行为(如ASP.NET MVC 中的静态字段)。

于 2012-07-24T15:39:21.717 回答