У меня проблема с o, и я думаю, это потому, что я не знаю, как использовать маршрутизацию в mvc.Маршрутизация ASP.NET MVC4
Словарь параметров содержит пустую запись для параметра «ClientID» не-обнуляемого типа «System.Int32» для метода «System.Web.Mvc.ActionResult Index (Int32)» в «LawApplication.Controllers.ClientFolderController ». Необязательный параметр должен быть ссылочным типом, нулевым типом или объявлен как необязательный параметр. Имя параметра: Параметры
В моем приложении у меня есть список клиентов, и Еогеасп клиент редактировать/удалять/подробности/Папки. Каждый клиент имеет список папок, и каждая папка имеет список файлов/документов. Итак, у меня есть контроллер ClientController и ClientFolderController. Когда я экранная кнопку Files, чтобы увидеть список папок для клиента, я использую:
<button class="btn btn-info">@Html.ActionLink("Folders", "Index", "ClientFolder", new { clientId = item.Id }, null)</button>
так я могу получить папки для этого ClientId. ClientFolderController выглядит следующим образом:
public ActionResult Index(int clientId)
{
List<ClientFolder> folder = dbContext.ClientFolders.Where(c => c.ClientId == clientId).ToList();
return View(folder);
}
Когда я пытаюсь добавить, новую папку для этого конкретного ClientId
public ActionResult Create()
{
return View();
}
[HttpPost]
public ActionResult Create(ClientFolder folder)
{
using (dbContext)
{
folder.ClientId = 2;
dbContext.ClientFolders.Add(folder);
dbContext.SaveChanges();
}
return RedirectToAction("Index");
}
и ссылки выглядят следующим образом: http://localhost:55761/ClientFolder?clientId=2
Ваше сообщение об ошибке предлагает 'item.Id' is' null' –
какой тип 'ClientFolder.ClientId'? он обнуляется? – Grundy
ClientId не является nullabale, является внешним ключом из Client, введите int. –