Мне нужна помощь, чтобы выяснить, как отправить данные в контроллер. У меня есть три поля.
- Playlistname, это просто текстовое поле
- Количество песен, это слайдер, с помощью которого вы можете выбрать желаемое количество песен.
- Исполнитель. Чтобы найти исполнителя, введите его имя в текстовое поле и нажмите кнопку. это делает запрос ajax и получает список артистов-моделей. все они показаны в одном частичном представлении. для каждого художника я делаю div, в котором также есть кнопка. Когда вы нажимаете эту кнопку, вы должны быть отправлены на другую страницу. И все данные также должны быть отправлены вместе с ним, название списка воспроизведения, количество песен и идентификатор исполнителя.
это представление / индекс:
<form asp-controller="Data" asp-action="CreatePlaylist" method="post">
<div style="margin:10%">
<h1 class="txt">Name of playlist:</h1>
<input placeholder="New playlist" class="input" type="text" name="nameinput" id="nameinput" required>
<br />
</div>
<div style="margin:10%">
<h1 class="txt">Amount of songs:</h1>
<input class="slider" type="range" id="amount" />
<br />
</div>
<div style="margin:10%">
<h1 class="txt">Search for artist:</h1>
<input placeholder="Favorite artist" class="input" type="text" id="artistinput">
<br />
<input type="button" class="click" onclick="SearchArtist()" />
<div id="artistlist" style="text-align: center; width: min-content; margin: auto;"></div>
</div>
</form>
<script>
function SearchArtist() {
var input = document.getElementById("artistinput").value;
if (input != null) {
$.ajax({
url: "@Url.Action("GetArtists","Data")",
data: { "input": input },
success: function (result) {
$("#artistlist").empty();
$("#artistlist").append(result);
},
error: function() {
alert("Cannot load artists");
}
});
}
}
</script>
и это частичное представление списка артистических моделей:
@using app.models
@model List<app.models.ArtistModel>;
@if (!@Model.Any())
{
<h2>No artists found</h2>
}
@foreach(ArtistModel artist in @Model)
{
<div class="songholder">
<div class="songbox">
<a href="@artist.url" target="_blank">
@if (@artist.imageurl != null)
{
<img src="@artist.imageurl" class="songimg"/>
}
else
{
<img src="photos/placeholder.jpg" class="songimg"/>
}
</a>
<a href="@artist.url" class="songtxt" target="_blank" style="position: relative; float: left; margin: 2px; text-decoration: none">@artist.name</a>
<a class="songtxt" style="position: relative; float: right; margin: 2px">Followers: @artist.followers</a>
<input type="button" class="click" value="@artist.id" id="artistid"/>
</div>
</div>
}
Я не знаю, почему это не работает. Контроллер даже не вызывается.