Нулевая запись при передаче данных из контроллера в View Asp.net MVC3 - PullRequest
1 голос
/ 02 апреля 2012

в моем контроллере я передаю идентификатор, сохраняю его в ViewBag, а затем обращаюсь к нему из представления и даю нулевую запись

Это контроллер:

  public ActionResult Create(int referenceID)
    {
       ViewBag.id = referenceID;
       //   ViewBag.type = type;
       // ViewBag.title = title;
        ViewBag.userID = new SelectList(db.UserProfiles, "userID", "firstName");
        return View();
    } 

и вот как я получаю к нему доступ с моей точки зрения

        @{ Model.referenceID = ViewBag.id ; }

Когда я иду в / Invitation / Create / 1, это дает мне нулевую ошибку при входе.

Ответы [ 2 ]

2 голосов
/ 02 апреля 2012

Исходя из предоставленного вами кода, я бы сказал, что ваша Модель пуста, потому что ваше действие ничего не передает представлению. Вы пытались просто показать ViewBag.id на странице?

0 голосов
/ 02 апреля 2012

Сначала необходимо убедиться, что путь маршрутизации настроен для / Invitation / Create / {id} в вашей таблице маршрутов ... в global.asax ... т.е. в вашем методе RegisterRoutes файла global.asax ... убедитесь, что у вас есть что-то вроде ...

  // Invitation/Create
        routes.MapRoute(
            "Create Invitation",
            "Invitation/Create/{id}",
            new { controller = "Invitation", action = "Create", id= 0 }
        );

Если referenceID в методе Create является необязательным ... вам нужно изменить тип referenceID на int? (обнуляемый int) ... как показано ниже

public ActionResult Create(int? referenceID)
{
  // if referenceID is null then you may redirect the user to a view of your choice..
  // then what ever logic you may wanna write...
}

Надеюсь, это поможет ...

Обновление:

Можете ли вы попробовать переместить этот код маршрута карты, чтобы он стал вашим первым кодом маршрута карты?

Вероятно, мне следовало бы прочитать ваш вопрос лучше ... в вашем методе Create вы не возвращаете какую-либо модель в ваше представление ... и когда вы говорите Model.referenceId ... должна быть модель (которая содержит referenceID как свойство), возвращенный методом создания действия ... которого нет в вашем случае

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...