2015-09-06 3 views
1

У меня проблема с 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

+0

Ваше сообщение об ошибке предлагает 'item.Id' is' null' –

+0

какой тип 'ClientFolder.ClientId'? он обнуляется? – Grundy

+0

ClientId не является nullabale, является внешним ключом из Client, введите int. –

ответ

0

Вы должны включать clientIdRedirectToAction

НЕТ:

return RedirectToAction("Index", new { clientId = folder.ClientId }); 
+0

Я просто сделал это и все еще не работал ... return RedirectToAction («Index», folder.ClientId); –

+0

@AndreeaDumitru см. Мое обновление – DigitalDan

+0

Я только что создал свою папку fisrt для клиента. Большое спасибо !!!!!! –

Смежные вопросы