Метод в контроллере не получит сообщение со страницы просмотра.C#

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

Сообщение Anonymous »

Проблема в том, что метод не получит идентификатор, как указано в заголовке. Я попытался проверить и убедиться, что это проблема, написав console.writeLine(orderId); и он всегда возвращает 0 независимо от объекта.
У меня раньше была аналогичная проблема, и мне просто нужно было добавить к этому метод IActionResult, поэтому я добавил еще один для этого, но это было недостаточно. У меня есть скрытое поле ввода в форме, которое действует как кнопка, и я позаботился о том, чтобы не пропустить действие asp, чтобы связать его с методом. Другая причина, по которой я знаю, что метод подключается, но идентификатор пуст, заключается в том, что метод написан таким образом, что, если идентификаторы равны нулю, они должны просто перейти в начало индексной страницы, что и происходит. Суть метода в том, чтобы иметь возможность менять статус.
Вот методы в контроллере, Orders — имя класса модели

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

public IActionResult Index(int orderId, OrderStatus nyStatus)
{
var andraInfo = new Orders();
andraInfo.Id = orderId;
andraInfo.Status = nyStatus;
return View(andraInfo);
}

//-----------------------------------

public IActionResult AndraStatus(int orderId, OrderStatus nyStatus)
{

Console.WriteLine(orderId);

var order = _context.Orders.Find(orderId);

//var order = _context.Orders.FirstOrDefault(o => o.Id == orderId);

// Kontrollera om ordern finns
if (order != null)
{
// Uppdatera statusen på ordern
order.Status = nyStatus;

// Spara ändringarna i databasen
_context.Update(order);
_context.SaveChanges();

}
return RedirectToAction("Index", "Home");
}
Индексная страница просмотра

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

@foreach (var hat in Model)
{


Namn på hatten: @hat.Title
@foreach (var order in hat.HatsOrders)
{


@if (User.Identity.IsAuthenticated)
{


Välj ny status:

@foreach (var status in Enum.GetValues(typeof(OrderStatus)))
{
@status
}


@* 
Uppdatera status *@






}
else
{
Status: @order.Orders.Status
}
@if (order.Orders.UserId is null)
{
Det finns ingen som är ansvarig för hatten

@if (User.Identity.IsAuthenticated)
{

Markera mig som ansvarig

}
}
else
{
Ansvarig: @order.Orders.Users.UserName
}

Kund
Förnamn: @order.Orders.Customers?.Firstname
Efternamn: @order.Orders.Customers?.Lastname


}


}
кстати, спасибо

Подробнее здесь: https://stackoverflow.com/questions/783 ... -view-page
Ответить

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

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

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

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

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