Как отобразить в виде данных получить идентификатор элемента после отображения многих изображений из цикла foreach - PullRequest
0 голосов
/ 25 октября 2019

Привет, у меня есть свой класс с именем PropertyDetailsModel, который отображает в представлении с именем «propertyForAll» все данные для идентификатора. Я хочу, чтобы, если пользователь выбрал один идентификатор в представлении с именем "propertyForAll", он должен иметь возможность открывать новую страницу и отображать только на новой странице свойство для выбранного идентификатора.

Так как бы я передавал данныеот просмотра (где отображаются все данные) до просмотра новой страницы. (когда пользователь выбирает один Id)

Там нет дБ. ... FindById для использования в контроллере для новой страницы ... как я вижу во многих tutos ... это другая архитектура, созданная архитектурами решений, которые покинули компанию.

Могу ли я выполнить циклчерез PropertyDetailsModel и передать его в returnView ()

    public class PropertyDetailsModel
    {
        public int Id { get; set; }
        public string Title { get; set; }
        public string SubTitle { get; set; }
        public string Description { get; set; }
        ...

    }


Code for new page controller
[HttpGet]
    public ViewResult displayItemSelected(int? id)
    {

        if (id == null)
        {

            return HttpNotFoundResult();

        }

        PropertyDetailsModel propertyModel;

        propertyModel.Id
   } 

1 Ответ

0 голосов
/ 25 октября 2019

Если вы передадите модель непосредственно View:

var propertyModel = new PropertyDetailsModel();
return View(propertyModel);

Затем в RazorPage (я считаю, Model имеет тип object и поэтому должен быть повышен / приведен кожидаемый тип):

<p>Property Name: @{((PropertyDetailsModel)Model).Name}</p>

В качестве альтернативы, вы можете передавать произвольные данные на страницу просмотра следующим образом:

Обе ViewData и ViewBag доступны изнутри страницы бритвы / просмотра. (.cshtml). ViewData - это Dictionary<string, object>, ViewBag - это dynamic.

Если вы просто поместите модель в ViewBag:

var propertyModel = new PropertyDetailsModel();
ViewBag.PropertyModel = propertyModel;
return View();

RazorPage сможет получить доступ к ViewBag ипо расширению ViewBag.PropertyModel вот так:

<p>Property Name: @{ViewBag.PropertyModel.Name}</p>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...