Идентификатор не привязывается к контроллеруC#

Место общения программистов C#
Ответить
Anonymous
 Идентификатор не привязывается к контроллеру

Сообщение Anonymous »

Я создаю веб-сайт dontnet, и у меня возникли проблемы с методом в моем контроллере. Это метод моего пользовательского контроллера, позволяющий пользователям просматривать все свои табели учета рабочего времени. Я попытался войти в терминал, и он показывает 0.

Код: Выделить всё

   // GET /User/TimeCardLog
public IActionResult TimeCardLog(int userId)
{
Console.WriteLine("The id is " + userId);
// Get the signed-in user's ID
var signedInUserId = User.GetSignedInUserId();

// Determine which user's timecards to retrieve
int targetUserId;
if (userId == signedInUserId)
{
targetUserId = signedInUserId;
}
else
{
targetUserId = userId;
}

var user = _svc.GetUser(targetUserId);
if (user is null)
{
Alert($"User {targetUserId} Not Found..", AlertType.warning);
return RedirectToAction(nameof(Index));//TimeCardLog
}

var timeCards = _tcSvc.GetTimeCardsByUser(targetUserId);

var model = new UserTimeCardsViewModel
{
User = user,
TimeCards = timeCards,
};

return View(model);
}
Это мое частичное представление о пользователях, принадлежащих магазину. Редактирование, переназначение и удаление пользователя работают для предполагаемого пользователя, но когда я нажимаю на редактирование расписаний, я получаю, что пользователь 0 не найден (поэтому мой пользователь имеет значение null). Я теперь не могу зайти в лог пользователя ни из личного профиля (значит метод Signinuserid не работает??)

Код: Выделить всё

@model Shop

Employees in @Model.Name

[i][/i]




Name
Surname
Role
Edit Clock In-Out and Add Holiday Leave
Sickness



@if (Model.Users.Count == 0)
{

No Employees...

}
else
{
@foreach (var u in Model.Users)
{
var rowClass = "";

// Get today's timecard for the user
var todayTimeCard = u.TimeCards
.Where(tc => tc.ClockIn.Date == DateTime.Today)
.OrderByDescending(tc => tc.ClockIn)
.FirstOrDefault();
if (todayTimeCard != null)
{
rowClass = "table-success"; // Green row for users currently clocked in or a timecard for the current day
}
else
{
rowClass = "table-danger"; // Red row for users not currently clocked in or no timecard for that day
}


@u.Name
@u.LastName
@u.Role
@u.Id
 [i]



Edit employee details


[/i]Remove employee



[i][/i]Re-assign employee to new shop





}
}


Изначально у меня не было userId в качестве параметра, но я добавил его. Я хочу увидеть страницу просмотра журнала учета рабочего времени, которую я видел, когда раньше просто использовал идентификатор подписанного пользователя.
Я новичок в программировании, и это мой первый реальный опыт создания веб-сайта. . Это может быть простое решение, но я не могу этого понять. Любая помощь или идеи будут признательны!

Подробнее здесь: https://stackoverflow.com/questions/787 ... controller
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»