c# - 文档就绪循环运行(添加查询字符串后)
问题描述
我有一个返回视图并将视图模型传递给视图的操作方法,在我的应用程序的另一部分中调用此方法并传递输入参数 url 后将如下所示(localhost:51999:\Home\Onlineplayer{guid} )
public async Task<IActionResult> OnlinePlayer(Guid id)
{
if (id != Guid.Empty)
{
var requestedFeed = await _feedService.FindOneAsync(id);
var feedOwnerName = requestedFeed.OwnerName;
ISpecification<Feed> spec = new FeedWithNotEndedStateSpec()
.And(new FeedWithVerifiedStateSpec())
.And(new FeedWithSpecificOwnerNameSpec(feedOwnerName));
onlinePlayerVm.LatestMusics = await _feedService.GetListBySpecAsync<FeedPlayerDTOVm>
(new PaginationFilter(), spec);
return View(onlinePlayerVm);
}
onlinePlayerVm.LatestMusics =
await _feedService.GetListAsync<FeedPlayerDTOVm>(new PaginationFilter(1, 20));
return View(onlinePlayerVm);
}
OnlinePlayer.cshtml 有一个'document.Ready()' jquery 函数来调用页面加载中的一些函数:
<script src="~/js/Custom/AudioPlayer.js" asp-append-version="true"></script>
<script>
$(document).ready(function () {
_latestMusicCurrentPage = 1;
_topMusicCurrentPage = 1;
_popMusicCurrentPage = 1;
//GrabLatestMusics();
if (@User.Identity.IsAuthenticated.ToString().ToLower()) {
SaveLocalPlaylistToDatabaseAfterLogin();
//GrabUserPlaylists();
}
//LoadLocalPlaylists();
var item = $("#playlistContainer").find("p[data-id=1]");
PlayThisFromList(this, item, false);
$(".RemoveFromList").click(function (e) {
var dataId = $(this).attr('data-id');
$(this).closest("p[data-id='" + dataId + "']").remove();
e.stopPropagation();
});
$(".DownloadThisMusic").click(function (e) {
var dataId = $(this).attr('data-id');
PNotifyToasterWithParam("error", "پیاده سازی نشده است")
e.stopPropagation();
});
});
function GrabLatestMusics() {
debugger
$.post('LatestMusic', { pageIndex: _topMusicCurrentPage }, function (data) {
$("#latestSongsContainer").append(data);
}).done(function () {
SetColumntResizingAfterPlayerHidden();
});;
}
</script>
问题 当GrabLatestMusics()函数被注释时,页面及其脚本工作正常,但是在取消注释此函数并在 url 查询字符串中传递和 Id 后,页面将崩溃并且文档准备好一遍又一遍地执行并向OnlinePlayer(Guid id)控制器中的操作方法。我怎么解决这个问题!?
解决方案
在 GrabLatestMusics 方法中,您应该使用带有 Controller 和 Action 的完整地址。(如果需要,也可以是区域)
function GrabLatestMusics() {
$.post('/YourArea/YourController/LatestMusic', ...
推荐阅读
- javascript - 如何从二维数组中获取随机元素?
- firebase - 从 Firebase 中删除 android 应用程序有什么影响
- java - 二分搜索模拟器
- python - 拆分数组列表并将每个数组保存在一个新变量中
- javascript - 导入一个函数是否需要加载整个库?
- c++ - 如何让 QWidget 在 Mac 上获取输入法焦点
- c# - 在处置模式中使用空条件运算符时 CA2213 触发
- java - 一百万次迭代后Java AtomicInteger不等于一百万(包括最小示例)
- sympy - sympy 部门文档术语混乱
- javascript - 在看似没有改变之后,一个正在工作的函数现在加载资源失败:net::ERR_CONNECTION_REFUSED