次のコードは、1 つのビュー、1 つの部分ビュー、および1 つのコントローラーを示しています。ビューには、現在の時刻を取得するためのボタンと、その時刻を表示する部分ビューが含まれています。ボタンのクリックは、jQuery を介して接続され、部分ビューのコンテナーで$.load()を呼び出します。
ボタンの最初のクリックは完全に機能しますが、その後の呼び出しはサーバーに到達しません。関数が起動し、ロードが起動しますが、サーバーはリクエストを受け取りません。
問題の可能性はありますか?
インデックス.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");
}
}
}