私は ASP.NET MVC を学習しており、部分ビューについて頭を悩ませようとしています。私は非常に単純なことを試みています。これが私のソースコードです。
_Layout.cshtml
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
<title>@ViewBag.Title</title>
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
</head>
<body>
@RenderBody()
@Scripts.Render("~/bundles/jquery")
@RenderSection("scripts", required: false)
</body>
</html>
_ViewStart.cshtml
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
HomeController.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace MvcApplication4.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
public PartialViewResult UpdateDate()
{
return PartialView("Partial1");
}
}
}
インデックス.cshtml
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
@DateTime.Now
<br />
@{Html.RenderPartial("Partial1");}
<br />
@Html.ActionLink("Render Partial", "UpdateDate")
Partial1.cshtml
@DateTime.Now
Render Partial リンクをクリックすると、UpdateDate アクション メソッドが呼び出されますが、部分ビューをレンダリングするとメイン コンテンツが上書きされ、部分ビューのコンテンツだけが表示されます。Index.cshtml の内容が失われるのはなぜですか?
Index.cshtml のコンテンツをそのまま表示し、部分ビューのコンテンツのみを更新するにはどうすればよいですか?