Как уже объясняет мой заголовок, я создаю небольшой Twitter Clone для школьного проекта, и хотя я хочу перейти на страницу профиля кого-то, если я нажму на имя автора.
<a asp-area="" asp-controller="Home" asp-action="Profile">@userController.GetUser(post.UserId).DisplayName</a><a asp-area="" asp-controller="Home" asp-action="Profile">@userController.GetUser(post.UserId).DisplayName</a>
Это только у меня получитсянастолько, что я могу получить зарегистрированный идентификатор пользователя через URL и посмотреть его собственный профиль.хорошо, но мне нужно иметь возможность получить доступ к другим профилям, а также
Я также пробовал это
<a asp-area="" asp-controller="Home" asp-action="Profile" asp-route-userId="@post.UserId">@userController.GetUser(post.UserId).DisplayName</a>
Но каждый раз, когда я делаю, что моя маршрутизация URL отключена, это будет так:
Profile/3c126298-32f8-471e-8597-69c71c333df8?userId=f5c01788-97d9-4426-881a-53469e8c44f8
И это сразу же ошибки конечно.
Кто-нибудь знает, как я могу решить эту проблему, потому что я пытался найти его на Interwebz, но я не знаю, как сформулироватьвопрос, так что я не получаю никаких результатов
Код контроллера:
[Route("Profile/{id}")]
public IActionResult Profile(string userId)
{
return View(userId);
}
Razor Page
@using SpackkApiMVC.Controllers
@model SpackkApiMVC.Models.PostModel
<style>
.scrollable {
background-color: rgba(255, 230, 204, 0.2);
}
.container {
margin: 0 auto;
width: 70%;
}
</style>
<div class="container">
<div class="row">
<div class="col-xs-12 col-sm-9">
<!-- User profile -->
<div class="panel panel-default">
<div class="panel-body">
<div class="profile__avatar">
<img src="https://bootdey.com/img/Content/avatar/avatar5.png" alt="...">
</div>
<div class="profile__header">
<h4>@user.DisplayName <small>Administrator</small></h4>
</div>
</div>
</div>
<!-- User info -->
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">User info</h4>
</div>
<div class="panel-body">
<table class="table profile__table">
<tbody>
<tr>
<th><strong>Location</strong></th>
<td>United States</td>
</tr>
<tr>
<th><strong>Company name</strong></th>
<td>Simpleqode.com</td>
</tr>
<tr>
<th><strong>Position</strong></th>
<td>Front-end developer</td>
</tr>
</tbody>
</table>
</div>
</div>
<!-- Community -->
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">Community</h4>
</div>
<div class="panel-body">
<table class="table profile__table">
<tbody>
<tr>
<th><strong>Comments</strong></th>
<td>58584</td>
</tr>
<tr>
<th><strong>Member since</strong></th>
<td>Jan 01, 2016</td>
</tr>
<tr>
<th><strong>Last login</strong></th>
<td>1 day ago</td>
</tr>
</tbody>
</table>
</div>
</div>
<!-- Latest posts -->
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">Latest posts</h4>
</div>
@foreach (PostModel post in postController.GetPosts(user.Id))
{
<div class="scrollable">
<h5 class="card-title"><a asp-area="" asp-controller="Home" asp-action="Profile" >@userController.GetUser(post.UserId).DisplayName</a></h5>
<div class="card-body">
<p class="card-text" name="post.id">
@post.Body <br/><br/>
<img src="../images/upvote.png" height="15" width="15"/> @postController.GetLikeCount(post.Id)
@if (postController.IsLiked(user.Id, post.Id))
{
<a asp-area="" asp-controller="Post" asp-action="UnLike" asp-route-userId="@user.Id" asp-route-postId="@post.Id"class="btn-link" >UnLike</a>
}
else
{
<a asp-area="" asp-controller="Post" asp-action="Like" asp-route-userId="@user.Id" asp-route-postId="@post.Id" class="btn-link" >Like</a>
}
<br/>
<small class="text-muted">@post.Date.ToShortDateString() - @post.Date.ToShortTimeString()</small>
<hr>
</p>
</div>
</div>
}
</div>
</div>
<div class="col-xs-12 col-sm-3">
</div>
</div>
</div>