Делаю учебный сайт на ASP.NET MVC, в котором на главной должен быть список товаров и отдельные страницы на каждый товар, на которые ведут ссылки из списка. Не пойму, как это осуществить. Сейчас есть страница списка, пробовал на странице списка вызывать
@model IEnumerable <TestParser.Domain.Entities.Product>
@{
ViewBag.Title = "List";
}
@foreach(var p in Model)
{
<div class="item">
<h3>
@Html.ActionLink(p.Name, "Single", "Product", p.ProdID, new { @class = "navbar-brand" })
</h3>
@foreach(var prise in p.PriseParseResults)
{
<p>@prise.Result</p>
}
</div>
}
а в контроллере соответственно
public ViewResult Single(int? prodID)
{
Product prod = repository.Products.Single(p => p.ProdID == prodID);
return View(prod);
}
но при таком подходе в контроллере выдается исключение
An exception of type 'System.InvalidOperationException' occurred in System.Core.dll but was not handled in user code
Additional information: Последовательность не содержит элементов
Очевидно, что на момент вызова метода Single, свойство на объекте Вашего репозитория, которое должно возвращать список всех продуктов, возвращает пустую коллекцию, т. е. Вы пытаетесь получить продукт с заданным id из коллекции, которая не содержит элементов. Перед вызовом метода Single, убедитесь, что Вы корректно инициализировали репозиторий. Например, код инициализации можно поместить в конструктор контроллера, содержащего метод Single. Приведите весь код контроллера, тогда ответ на Ваш вопрос можно уточнить.
Если проверить программу дебагером, видно, что аргумент, который передается в метод имеет значение null, а ссылка, генерируемая этим методом не содержит тела запроса. Вызов метода @Html.ActionLink должен быть построен следующим образом:
@Html.ActionLink(p.Name, "Single", "Product", new { prodID = p.ProdID }, null)
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости