#c# #asp.net-mvc #razor
#c# #asp.net-mvc #razor
Вопрос:
Я начал создавать приложение MVC с использованием C #, но когда я попытался получить model
значение из view
( Index.cshtml
), оно выдало ошибку «значение не может быть нулевым» в файле просмотра. Я пробовал .ToString()
и new HtmlString
для строки из модели, но ничего не сработало. как я могу это решить?
Просмотр с использованием Razor в СРАВНЕНИИ с отладкой, показывающий, что свойство имеет назначение в объекте page, а также показывающий ошибку.
Назначение модели в контроллере:
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