Не удается получить значение из модели и поместить в выходной C # MVC

#c# #asp.net-mvc #razor

#c# #asp.net-mvc #razor

Вопрос:

Я начал создавать приложение MVC с использованием C #, но когда я попытался получить model значение из view ( Index.cshtml ), оно выдало ошибку «значение не может быть нулевым» в файле просмотра. Я пробовал .ToString() и new HtmlString для строки из модели, но ничего не сработало. как я могу это решить?

Просмотр с использованием Razor в СРАВНЕНИИ с отладкой, показывающий, что свойство имеет назначение в объекте page, а также показывающий ошибку. Скриншот из VS debugging

Назначение модели в контроллере:

 if (Session["User"] != null)
        {
            PageProps props = new PageProps();
            props.userNameOut = Session["User"].ToString();
            return View(props);
        }
  

Комментарии:

1. Это второй аргумент для Path.Combine , который равен null. А именно, Model.properties["logoImageName"]

2. Вы пробовали устанавливать точку останова в return View(props) строке, чтобы посмотреть, действительно ли она туда попадает?

3. Спасибо @haim770, исправлено вашим ответом.

Ответ №1:

Visual Studio показывает сообщение об ошибке в строке 19, но реальная ошибка может быть в строках после. Пожалуйста, проверьте значение null для Model.properties и всех свойств из Model приведенных ниже.

Изменить с

Model.properties["logoImageName"]

Для

Model.properties != null amp;amp; Model.properties.ContainsKey("logoImageName") ? Model.properties["logoImageName"] : string.Empty