我试图在控制器上执行操作,而不重定向到该操作的关联视图。有关我想要实现的目标的一个很好的示例,请访问 music.xbox.com 网站。当您从弹出菜单将歌曲添加到选定的播放列表时 - 页面仅显示通知,而不进行任何重定向或刷新。这怎么可能?
我所拥有的是以下内容:
我有一个 _playlistPopupMenu 部分视图,它呈现播放列表列表,如下所示:
_PlaylistPopupMenu
@model List<OneMusic.Models.GetPlaylists_Result>
@if (Model.Count > 0)
{
<li style="height:2px" class="divider"></li>
foreach (var item in Model)
{
<li style="height:30px">@Html.DisplayFor(p => item.Name)
@Html.ActionLink(item.Name, "AddSong", "Playlist", new { playlistId = @item.PlaylistId, songId = 1 }, "")
</li>
}
}
PlaylistController AddSong 操作如下:
public PartialViewResult AddSong(int? playlistId, int? songId)
{
if (ModelState.IsValid)
{
db.AddSongToPlaylist(playlistId, songId);
db.SaveChanges();
return PartialView("_AddToPlaylist", "");
}
return PartialView("_AddToPlaylist", "");
}
我正在努力考虑在 _AddToPlaylist 部分视图中放入什么内容,我认为我需要能够显示某种通知(可能使用 Bootstrap 中的 PNotify 添加)。 MVC 希望始终重定向到 ../Playlist/AddSong?playlistId=1&songId=1
关于如何完成问题最后一部分的任何想法都会很棒。