ASP.NET 5 - 在列表项单击时仅渲染部分视图

时间:2016-02-23 19:37:06

标签: jquery asp.net asp.net-mvc

我在页面上有更多局部视图。一个包含音乐列表(存储在Azure存储上),另一个包含媒体播放器。我想通过单击列表中的项目来加载媒体播放器局部视图。我还必须将数据(在我的情况下是一个链接)传递给控制器​​。我已经阅读了有关AJAX的内容,但是当您选择列表项并传递数据时,我没有找到示例......以下是我的列表:

<ul style="list-style:none">
@foreach (var item in Model)
{
    <li>
        <p><a asp-controller="Music" asp-action="Play" asp-route-uri="@item.DownloadUri">@item.TitleOnView</a></p>
    </li>
}

和控制器:

public IActionResult Play(string uri)
{
    ViewData["uri"] = uri;
    return PartialView("_MediaPlayerPartial");
}

谢谢!

1 个答案:

答案 0 :(得分:1)

是的,使用jQuery ajax就可以做到。

为您的链接提供一个css类,以便我们以后可以将其用作jQuery选择器。

click

现在收听此链接上的href事件并获取所点击链接的loa属性值并进行ajax调用。您可以使用jQuery $(function(){ $("a.myLink").click(function(e){ e.preventDefault(); $("#YourContainerToShowPartial").load($(this).attr("href")); }); }); d方法将部分视图内容加载到您的页面。

YourContainerToShowPartial

假设<div id="YourContainerToShowPartial"></div> 是您网页中div的ID,您希望通过Play操作方法显示响应。

UIAccessibilityPauseAssistiveTechnologyNotification