У меня есть контроллер MVC:MVC - Как избежать «Словарь параметров содержит нулевой вход для параметра»
public ActionResult EditProduct(int id)
{
var model = products.GetById(id);
return View(model);
}
[HttpPost]
public ActionResult EditProduct(Product product)
{
products.Update(product);
products.Commit();
return RedirectToAction("ProductList");
}
и когда я делаю это http://localhost:56339/Admin/EditProduct без прохождения в ИО, как этот http://localhost:56339/Admin/EditProduct/1, я получаю сообщение об ошибке Словарь параметров содержит нулевую запись для параметра.
Как предотвратить, если пользователи набирают URL-адрес без идентификатора?
Вы можете сделать его nullable - 'int? id' - и перенаправить на другую страницу с ошибкой, если она не имеет значения. –
Я согласен с @StephenMuecke или вы также можете автоматически присвоить значение по умолчанию для идентификатора. Думаю, нам нужно будет знать, что вы хотите в этом случае. –
Это трюк, я просто хочу перенаправить его на другую страницу. Спасибо вам всем! –