1

私は 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 のコンテンツをそのまま表示し、部分ビューのコンテンツのみを更新するにはどうすればよいですか?

4

1 に答える 1