reddit. При нажатии на пункт выпадающего списка Topic должны выводится посты соответствующие нажатой теме. У меня ничего не виводиться. Как исправить? Буду очень благодарна за помощь
@using Forum_MVC.Data.Entities;
@model MyViewModel;
@using Microsoft.AspNetCore.Mvc.Rendering;
@using System.Linq;
<body>
<div class="d-flex-container">
<div class="col-md-3">
@if (Model != null)
{
<div class="dropdown">
<button class="btn btn-outline-pink dropdown-toggle" type="button" id="categoryDropdown" data-bs-toggle="dropdown" aria-expanded="false">
@if (Model.SelectedCategoryId == 0)
{
<span>All Categories</span>
}
else
{
@Model.Categories.FirstOrDefault(c => c.Id == Model.SelectedCategoryId)?.Name
}
</button>
<ul class="dropdown-menu" aria-labelledby="categoryDropdown">
<li><a class="dropdown-item" href="@Url.Action("Index", new { selectedCategoryId = 0, topicId = Model.SelectedTopicId })">All Categories</a></li>
@foreach (var category in Model.Categories)
{
<li><a class="dropdown-item" href="@Url.Action("Index", new { selectedCategoryId = category.Id, topicId = Model.SelectedTopicId })">@category.Name</a></li>
}
</ul>
</div>
}
<form method="post" asp-controller="Home" asp-action="SetSelectedTopic">
<div class="dropdown mt-3">
<button class="btn btn-outline-pink dropdown-toggle" type="button" id="topicDropdown" data-bs-toggle="dropdown" aria-expanded="false">
@if (Model.SelectedTopicId == 0)
{
<span>All Topics</span>
}
else
{
@Model.TopicOfPosts.FirstOrDefault(c => c.Id == Model.SelectedTopicId)?.Name
}
</button>
<ul class="dropdown-menu" aria-labelledby="topicDropdown">
@foreach (var topic in Model.TopicOfPosts)
{
<li>
<button type="submit" name="selectedTopicId" value="@topic.Id" class="dropdown-item">@topic.Name</button>
</li>
}
</ul>
</div>
<input type="hidden" name="selectedCategoryId" value="@Model.SelectedCategoryId" />
<input type="hidden" name="selectedTopicId" value="@Model.SelectedTopicId" />
</form>
</div>
<div class="text-center">
@if (Model != null && Model.Posts.Any())
{
foreach (var i in Model.Posts)
{
<div class="card pink-card text-white mb-3">
<div class="card-header">@i.Title</div>
<div class="card-body">
<p class="card-text">@i.Text</p>
</div>
</div>
}
}
<nav>
<ul class="pagination">
@for (var i = 1; i <= Math.Ceiling((double)Model.TotalPosts / Model.PageSize); i++)
{
<li class="page-item @(i == Model.PageNumber ? "active" : "")">
<a class="page-link" href="/Home/Index?pageNumber=@i&pageSize=@Model.PageSize">@i</a>
</li>
}
</ul>
</nav>
</div>
</div>
</body>
SetSelectedTopic вызывается? что туда приходит в парметры?
Вызыватеся. Здесь <li> <button type="submit" name="selectedTopicId" value="@topic.Id" class="dropdown-item">@topic.Name</button> </li>
если поставить контрольную точку в контроллер в этот метод - он вызывается?
Да. Но посты при нажатии не выводится
Обсуждают сегодня