上部にビデオがあり、選択できるビデオのリストがあるページがあります。現在、ビデオリストのリンクをクリックすると、ページ全体がリロードされます。ページ上部のビデオを含む部分的なビューのみを更新するために必要です。
ここで、JQueryを使用して部分ビューをリロードする方法を示すいくつかの投稿をSOで見ましたが、私の状況では正しく機能させることができませんでした。動画の正しいIDを渡す方法がわかりません。
コントローラ:
public ActionResult Videos(int topVideo = 0)
{
VideosModel model = new VideosModel();
model.Videos = StatsVideoService.GetEntityList(new Lookup(TableStatsVideo.IsDeleted, false)).OrderByDescending(x => x.DateCreated).ToList();
if (topVideo == 0)
model.TopVideo = model.Videos.First();
else
{
model.TopVideo = model.Videos.Where(x => x.StatsVideoId == topVideo).FirstOrDefault();
if (model.TopVideo == null)
model.TopVideo = model.Videos.First();
}
return View(model);
}
意見:
@model Project.Models.VideosModel
<section class="videos">
<div id="top_video">
@{Html.RenderPartial("StatsVideo", Model.TopVideo);}
</div>
<ul>
@foreach (var item in Model.Videos)
{
<li>
<div class="videoList">
<a href ="@Url.Action("Videos", "Home", new { topVideo = item.StatsVideoId })">
<img src="@Url.Content("~/Content/img/video-ph.png")" />
</a>
<p class="videoTitle">@item.Title</p>
</div>
</li>
}
</ul>
</section>
他に必要な情報がありましたら、お知らせください。