MVC 3部分视图上的jQuery.load()只调用服务器一次(不是重新绑定问题)
本文关键字:一次 问题 绑定 新绑定 调用 视图 3部 jQuery MVC load 服务器 | 更新日期: 2023-09-27 18:28:48
以下代码显示了1个视图、1个局部视图、和1个控制器。该视图包含一个获取当前时间的按钮和一个显示该时间的局部视图。按钮的点击通过jQuery连接,调用部分视图容器上的$.load()。
第一次点击按钮效果很好,但没有后续调用到达服务器;函数启动,负载启动,但服务器从未收到请求。
有什么想法吗?
Index.cshtml
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<title>ContainerView</title>
<script src="@Url.Content("~/Scripts/jquery-1.7.2.min.js")" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
$('#btnRefresh').click(function () {
$("#divTime").load('@Url.Action("GetTime")');
});
});
</script>
</head>
<body>
<div>
<input id="btnRefresh" type="button" value="Get Time"/>
<div id="divTime">
@Html.Partial("_Time")
</div>
</div>
</body>
</html>
_Time.cshtml
@ViewData["Time"]
ContainerController.cs
using System;
using System.Web.Mvc;
namespace PartialViewAjaxFormModel.Controllers
{
public class ContainerController : Controller
{
//
// GET: /Container/
public ActionResult Index()
{
return View();
}
public PartialViewResult GetTime()
{
ViewData["Time"] = DateTime.Now.ToLongTimeString();
return PartialView("_Time");
}
}
}
它正在被缓存。我使用了一个动作属性:
public class NoCacheAttribute : ActionFilterAttribute
{
public override void OnActionExecuted ( ActionExecutedContext context )
{
context.HttpContext.Response.Cache.SetCacheability( HttpCacheability.NoCache );
}
}
[HttpGet]
[NoCache]
public JsonResult GetSomeStuff ()
{
...
}