我在页面上有更多局部视图。一个包含音乐列表(存储在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");
}
谢谢!
答案 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