jQuery可以读取asp-for tag helper和asp-action吗?从我所看到的情况来看,似乎只是忽略了它们,我如何才能绕过这个问题或解决它?(我不能改变jQuery方法)。
我能做些什么伙计们?有没有办法做我想做的事情:显示这些元素,同时在数据库中保存一些值(注意,我必须追加多个元素)?
$('#results').append('<form method="post"><div class="item col-xs-4 col-lg-4">'
+ '<div class="thumbnail">'
+ '<iframe width="100%" height="200px" allowfullscreen src="https://www.youtube.com/embed/' + id + '"></iframe>'
+ '<div class="caption">'
+ '<p class=" group inner list-group-item-text" style="overflow:hidden;text-overflow:elipsis;white-space:nowrap;">' + vidTitle + '</p>'
+ '<div class="row">'
+ '<input type="text" value="' + id + '" asp-for="Input.vLink" hidden />'
+ '<input type="text" value="' + vidTitle + '" asp-for="Input.vLink" hidden />'
+ '<div class="col-xs-12 col-md-6">'
+ '<button asp-action="AddToPlaylist" type="submit" asp-route-vLink="' + id + '"asp-route-vTit="' + vidTitle + '" id="' + vidTitle + '" data-key="' + id + '" class="btn btn-success" onclick="AddToPlaylist()">Add to Playlist</button>'
+ '</div></div></div></div></div></form>');
})
$('#playlist').append('<form method="post"><div">'
+ '<input type="text" value="' + id + '" asp-for="Input.vLink" hidden />'
+ '<input type="text" value="' + vidTitle + '" asp-for="Input.vLink" hidden />'
+ '<div class="list-inline"><li style="width:89%;overflow:hidden;text-overflow:elipsis;white-space:nowrap;list-style-type:none;">' +
VideoTitulli + ' ' + id
+'</li>'+' '+'<button value="' + id + '" style="border-radius:10px" class="fas fa-times" asp-action="RemoveFromPlaylist" asp-route-vLink="' + id + '"asp-route-vTit="' + vidTitle + '" onclick="RemoveFromPlaylist()"></button></div><hr class="hrC" /></div</form>').net核心操作
public async Task AddToPlaylist(string userId)
{
var userplaylist = new UserPlaylist() { ResultTitles = Input.vTit,ResultLinks = Input.vLink, ApplicationUserId = userId};
_context.UPlaylist.AddAsync(userplaylist);
await _context.SaveChangesAsync();
}
public async Task RemoveFromPlaylist(string userId)
{
var userplaylit = new UserPlaylist() { ResultTitles = Input.vTit, ResultLinks = Input.vLink, ApplicationUserId = userId };
_context.UPlaylist.Remove(userplaylit);
await _context.SaveChangesAsync();
}发布于 2020-01-26 02:40:00
这是行不通的,Tag Helpers运行服务器端来为客户端生成HTML。JQuery看不到这些Tag Helper。
如果您运行带有Tag Helpers的超文本标记语言,并查看生成的代码,您将看到没有asp-属性,只有Tag Helpers为您生成的HTML。
因此,如果您想要将HTML添加到页面,则需要手动完成。
有关Tag Helper的详细信息,请执行以下操作:
https://docs.microsoft.com/en-us/aspnet/core/mvc/views/tag-helpers/intro?view=aspnetcore-3.1
https://stackoverflow.com/questions/59911855
复制相似问题